Πώς να προσδιορίσετε συγκεκριμένα σφάλματα στο Excel 2016 VBA

Όλα τα σφάλματα VBA δεν δημιουργούνται ίσα. Κάποια είναι σοβαρά και άλλα λιγότερο σοβαρά. Αν και μπορεί να αγνοήσετε σφάλματα που θεωρείτε ασήμαντα, πρέπει να αντιμετωπίσετε άλλα, πιο σοβαρά σφάλματα. Σε ορισμένες περιπτώσεις, πρέπει να προσδιορίσετε το συγκεκριμένο σφάλμα που παρουσιάζεται.

Κάθε τύπος σφάλματος έχει έναν επίσημο αριθμό. Όταν παρουσιάζεται ένα σφάλμα, το Excel αποθηκεύει τον αριθμό σφάλματος σε ένα αντικείμενο σφάλματος που ονομάζεται Err. Η ιδιότητα Number αυτού του αντικειμένου περιέχει τον αριθμό σφάλματος και η ιδιότητα Περιγραφή περιέχει μια περιγραφή του σφάλματος. Για παράδειγμα, η ακόλουθη δήλωση εμφανίζει τον αριθμό σφάλματος, μια άνω και κάτω τελεία και μια περιγραφή του σφάλματος:

MsgBox Err.Number & ": " & Err.Description

Λάβετε υπόψη ότι τα μηνύματα σφάλματος του Excel δεν είναι πάντα πολύ χρήσιμα — αλλά το γνωρίζετε ήδη.

Η ακόλουθη διαδικασία δείχνει πώς να προσδιορίσετε ποιο σφάλμα παρουσιάστηκε. Σε αυτήν την περίπτωση, μπορείτε να αγνοήσετε με ασφάλεια τα σφάλματα που προκαλούνται από την προσπάθεια λήψης της τετραγωνικής ρίζας ενός μη θετικού αριθμού (δηλαδή του σφάλματος 5) ή τα σφάλματα που προκαλούνται από την προσπάθεια λήψης της τετραγωνικής ρίζας μιας μη αριθμητικής τιμής (σφάλμα 13).

Από την άλλη πλευρά, πρέπει να ενημερώσετε τον χρήστη εάν το φύλλο εργασίας είναι προστατευμένο και η επιλογή περιέχει ένα ή περισσότερα κλειδωμένα κελιά. (Διαφορετικά, ο χρήστης μπορεί να πιστεύει ότι η μακροεντολή λειτούργησε ενώ πραγματικά δεν λειτουργούσε.) Η προσπάθεια εγγραφής σε ένα κλειδωμένο κελί σε ένα προστατευμένο φύλλο εργασίας προκαλεί σφάλμα 1004.

Sub SelectionSqrt()
  Θαμπό κελί ως εύρος
  Dim ErrMsg Ως συμβολοσειρά
  Αν TypeName(Selection) <> "Range" Τότε βγείτε από το Sub
  On Error GoTo Error Handler
  Για κάθε κελί στην επιλογή
    cell.Value = Sqr(cell.Value)
  Επόμενο κελί
  Έξοδος υπο
Εργαλείο χειρισμού σφαλμάτων:
  Επιλέξτε Case Err.Number
    Περίπτωση 5 «Αρνητικός αριθμός
      Συνέχιση Επόμενο
    Περίπτωση 13 «Αναντιστοιχία τύπου
      Συνέχιση Επόμενο
    Θήκη 1004 «Κλειδωμένο κελί, προστατευμένο φύλλο
      MsgBox "Το κελί είναι κλειδωμένο. Δοκιμάστε ξανά.", vbCritical, cell.Address
      Έξοδος υπο
    Άλλη περίπτωση
      ErrMsg = Σφάλμα (Err.Number)
      MsgBox "ERROR: " & ErrMsg, vbCritical, cell.Address
      Έξοδος υπο
  Τέλος Επιλογή
End Sub

Όταν παρουσιάζεται ένα σφάλμα χρόνου εκτέλεσης, η εκτέλεση μεταβαίνει στον κώδικα που ξεκινά από την ετικέτα ErrorHandler. Η δομή Select Case ελέγχει τρεις κοινούς αριθμούς σφάλματος. Εάν ο αριθμός σφάλματος είναι 5 ή 13, η εκτέλεση συνεχίζεται στην επόμενη δήλωση. (Με άλλα λόγια, το σφάλμα αγνοείται.) Αλλά εάν ο αριθμός σφάλματος είναι 1004, η ρουτίνα συμβουλεύει τον χρήστη και στη συνέχεια τελειώνει. Η τελευταία περίπτωση, ένα catch-all για απρόβλεπτα σφάλματα, παγιδεύει όλα τα άλλα σφάλματα και εμφανίζει το πραγματικό μήνυμα σφάλματος.

Leave a Comment

Τι είναι οι πίνακες ελέγχου και οι αναφορές στο Excel;

Τι είναι οι πίνακες ελέγχου και οι αναφορές στο Excel;

Στο Excel, είναι κρίσιμο να κατανοήσουμε τη διαφορά μεταξύ αναφορών και πινάκων εργαλείων για την αποτελεσματική ανάλυση και οπτικοποίηση δεδομένων.

Πότε να χρησιμοποιήσετε το OneDrive για επιχειρήσεις

Πότε να χρησιμοποιήσετε το OneDrive για επιχειρήσεις

Ανακαλύψτε πότε να χρησιμοποιήσετε το OneDrive για επιχειρήσεις και πώς μπορείτε να επωφεληθείτε από τον αποθηκευτικό χώρο των 1 TB.

Υπολογισμός του αριθμού ημερών μεταξύ δύο ημερομηνιών στο Excel

Υπολογισμός του αριθμού ημερών μεταξύ δύο ημερομηνιών στο Excel

Ο υπολογισμός του αριθμού ημερών μεταξύ δύο ημερομηνιών είναι κρίσιμος στον επιχειρηματικό κόσμο. Μάθετε πώς να χρησιμοποιείτε τις συναρτήσεις DATEDIF και NETWORKDAYS στο Excel για ακριβείς υπολογισμούς.

Πώς να ανανεώσετε τα δεδομένα συγκεντρωτικού πίνακα του Excel

Πώς να ανανεώσετε τα δεδομένα συγκεντρωτικού πίνακα του Excel

Ανακαλύψτε πώς να ανανεώσετε γρήγορα τα δεδομένα του συγκεντρωτικού πίνακα στο Excel με τέσσερις αποτελεσματικές μεθόδους.

Μια μακροεντολή Excel για απόκρυψη όλων εκτός από το ενεργό φύλλο εργασίας

Μια μακροεντολή Excel για απόκρυψη όλων εκτός από το ενεργό φύλλο εργασίας

Μάθετε πώς μπορείτε να χρησιμοποιήσετε μια μακροεντολή Excel για να αποκρύψετε όλα τα ανενεργά φύλλα εργασίας, βελτιώνοντας την οργάνωση του βιβλίου εργασίας σας.

Ιδιότητες πεδίου MS Access για να βεβαιωθείτε ότι οι καταχωρίσεις δεδομένων είναι ακριβείς

Ιδιότητες πεδίου MS Access για να βεβαιωθείτε ότι οι καταχωρίσεις δεδομένων είναι ακριβείς

Ανακαλύψτε τις Ιδιότητες πεδίου MS Access για να μειώσετε τα λάθη κατά την εισαγωγή δεδομένων και να διασφαλίσετε την ακριβή καταχώρηση πληροφοριών.

Πώς να κάνετε αυτόματη σύνοψη ενός εγγράφου του Word 2003

Πώς να κάνετε αυτόματη σύνοψη ενός εγγράφου του Word 2003

Ανακαλύψτε πώς να χρησιμοποιήσετε το εργαλείο αυτόματης σύνοψης στο Word 2003 για να συνοψίσετε εγγραφές γρήγορα και αποτελεσματικά.

Πώς να χρησιμοποιήσετε τη συνάρτηση PROB στο Excel

Πώς να χρησιμοποιήσετε τη συνάρτηση PROB στο Excel

Η συνάρτηση PROB στο Excel επιτρέπει στους χρήστες να υπολογίζουν πιθανότητες με βάση δεδομένα και πιθανότητες σχέσης, ιδανική για στατιστική ανάλυση.

Τι σημαίνουν τα μηνύματα σφάλματος επίλυσης στο Excel;

Τι σημαίνουν τα μηνύματα σφάλματος επίλυσης στο Excel;

Ανακαλύψτε τι σημαίνουν τα μηνύματα σφάλματος του Solver στο Excel και πώς να τα επιλύσετε, βελτιστοποιώντας τις εργασίες σας αποτελεσματικά.

Πώς να χρησιμοποιήσετε τη συνάρτηση FREQUENCY στο Excel

Πώς να χρησιμοποιήσετε τη συνάρτηση FREQUENCY στο Excel

Η συνάρτηση FREQUENCY στο Excel μετράει τις τιμές σε έναν πίνακα που εμπίπτουν σε ένα εύρος ή bin. Μάθετε πώς να την χρησιμοποιείτε για την κατανομή συχνότητας.