Πίνακας περιεχομένων:
- Επανεξέταση της διαδικασίας EnterSquareRoot
- Σε περίπτωση που το σφάλμα δεν λειτουργεί;
- Σχετικά με τη δήλωση σχετικά με το σφάλμα
Βίντεο: Excel 2007 - Βασικές συναρτήσεις. 2025
Πώς εντοπίζετε και χειρίζεστε κάθε πιθανό σφάλμα στο Excel 2016; Συχνά, δεν μπορείτε. Ευτυχώς, η VBA παρέχει έναν άλλο τρόπο αντιμετώπισης αυτών των ενοχλητικών σφαλμάτων.
Επανεξέταση της διαδικασίας EnterSquareRoot
Εξετάστε τον ακόλουθο κώδικα. Η ρουτίνα χρησιμοποιεί μια εντολή για όλες τις χρήσεις On Error για να παγιδεύει όλα τα σφάλματα και στη συνέχεια να ελέγξει αν το InputBox ακυρώθηκε.
Sub EnterSquareRoot5 () Dim Num As Variant Dim Msg As String 'Ρύθμιση χειρισμού σφαλμάτων On Error GoTo BadEntry' Προτροπή για μια τιμή Num = InputBox ("Εισαγωγή τιμής") 'Έξοδος αν ακυρωθεί Αν Num = Sub 'Εισαγάγετε την τετραγωνική ρίζα ActiveCell. Τιμή = Sqr (Num) Έξοδος Sub BadEntry: Msg = "Παρουσιάστηκε σφάλμα. "& VbNewLine & vbNewLine Msg = Msg &" Βεβαιωθείτε ότι έχει επιλεγεί εύρος, "Msg = Msg &" το φύλλο δεν προστατεύεται, "Msg = Msg &" και εισάγετε μη αρνητική τιμή. "MsgBox Msg, vbCritical End Sub
Αυτή η ρουτίνα παγιδεύει οποιοδήποτε τύπο σφάλματος χρόνου εκτέλεσης . Μετά την παγίδευση ενός σφάλματος χρόνου εκτέλεσης, η αναθεωρημένη διαδικασία EnterSquareRoot εμφανίζει αυτό το πλαίσιο μηνύματος. Αυτό το πλαίσιο μηνύματος περιγράφει τις πιο πιθανές αιτίες του σφάλματος.
Σε περίπτωση που το σφάλμα δεν λειτουργεί;
Εάν μια εντολή On Error δεν λειτουργεί όπως διαφημίζεται, πρέπει να αλλάξετε μία από τις ρυθμίσεις σας:
-
Ενεργοποίηση του VBE.
-
Επιλέξτε την εντολή Εργαλεία → Επιλογές.
-
Κάντε κλικ στην καρτέλα Γενικά (General) του πλαισίου διαλόγου Επιλογές (Options).
-
Βεβαιωθείτε ότι η ρύθμιση Break on All Errors είναι απενεργοποιημένη.
Αν επιλεγεί αυτή η ρύθμιση, το Excel ουσιαστικά αγνοεί τις δηλώσεις On Error. Συνήθως θέλετε να διατηρήσετε τις επιλογές "Παγίδευση σφάλματος" που έχουν οριστεί ως "Σπάσιμο" στα μη επεξεργασμένα σφάλματα.
Σχετικά με τη δήλωση σχετικά με το σφάλμα
Χρησιμοποιώντας μια δήλωση σφάλματος On στον κώδικα VBA σας επιτρέπει να παρακάμψετε τον ενσωματωμένο χειρισμό σφαλμάτων του Excel και να χρησιμοποιήσετε τον δικό σας κώδικα χειρισμού σφαλμάτων. Στο προηγούμενο παράδειγμα, ένα σφάλμα χρόνου εκτέλεσης προκαλεί τη μεταπήδηση της μακροεντολής στη δήλωση με την ένδειξη BadEntry. Ως αποτέλεσμα, αποφεύγετε τα ανεπιθύμητα μηνύματα σφάλματος του Excel και μπορείτε να εμφανίσετε το δικό σας μήνυμα στο χρήστη.
Παρατηρήστε ότι το παράδειγμα χρησιμοποιεί μια παράμετρο Exit Sub ακριβώς πριν την ετικέτα BadEntry. Αυτή η δήλωση είναι απαραίτητη επειδή δεν θέλετε να εκτελέσετε τον κώδικα αντιμετώπισης σφαλμάτων, αν προκύψει σφάλμα και όχι .