Τρόπος χρήσης της δήλωσης OneError στο Excel 2016 VBA

Όταν χρειάζεται να αντιμετωπίσετε σφάλματα στο Excel VBA, μπορείτε να χρησιμοποιήσετε τη δήλωση OnError. Ωστόσο, υπάρχουν μερικά πράγματα που πρέπει να γνωρίζετε πρώτα. Μπορείτε να χρησιμοποιήσετε τη δήλωση On Error με τρεις τρόπους.

Σύνταξη Τι κάνει
Στην ετικέτα Σφάλμα GoTo Μετά την εκτέλεση αυτής της δήλωσης, το VBA συνεχίζει την εκτέλεση στη
δήλωση που ακολουθεί την καθορισμένη ετικέτα. Πρέπει να συμπεριλάβετε μια άνω τελεία
μετά την ετικέτα, έτσι ώστε η VBA να την αναγνωρίζει ως ετικέτα.
Στο Σφάλμα Μετάβαση στο 0 Μετά την εκτέλεση αυτής της δήλωσης, το VBA συνεχίζει την κανονική
συμπεριφορά ελέγχου σφαλμάτων. Χρησιμοποιήστε αυτήν τη δήλωση αφού χρησιμοποιήσετε μία από τις
άλλες δηλώσεις On Error ή όταν θέλετε να καταργήσετε τη διαχείριση σφαλμάτων
στη διαδικασία σας.
Σφάλμα Συνέχιση Επόμενο Μετά την εκτέλεση αυτής της δήλωσης, η VBA απλώς αγνοεί όλα τα σφάλματα
και συνεχίζει την εκτέλεση με την επόμενη πρόταση.

Συνέχιση μετά από σφάλμα

Σε ορισμένες περιπτώσεις, θέλετε απλώς η ρουτίνα να τελειώνει με χάρη όταν παρουσιαστεί ένα σφάλμα. Για παράδειγμα, μπορείτε να εμφανίσετε ένα μήνυμα που περιγράφει το σφάλμα και στη συνέχεια να βγείτε από τη διαδικασία. (Το παράδειγμα EnterSquareRoot5 που παρουσιάστηκε νωρίτερα χρησιμοποιεί αυτήν την τεχνική.) Σε άλλες περιπτώσεις, θέλετε να ανακτήσετε το σφάλμα, εάν είναι δυνατόν.

Για να ανακτήσετε ένα σφάλμα, πρέπει να χρησιμοποιήσετε μια δήλωση Resume. Αυτό διαγράφει τη συνθήκη σφάλματος και σας επιτρέπει να συνεχίσετε την εκτέλεση σε κάποια τοποθεσία. Μπορείτε να χρησιμοποιήσετε τη δήλωση Resume με τρεις τρόπους.

Σύνταξη Τι κάνει
ΒΙΟΓΡΑΦΙΚΟ Η εκτέλεση συνεχίζεται με τη δήλωση που προκάλεσε το σφάλμα. Χρησιμοποιήστε
το εάν ο κωδικός χειρισμού σφαλμάτων διορθώσει το πρόβλημα και
είναι εντάξει να συνεχίσετε.
Συνέχιση Επόμενο Η εκτέλεση συνεχίζεται με τη δήλωση αμέσως μετά τη
δήλωση που προκάλεσε το σφάλμα. Αυτό ουσιαστικά αγνοεί το
σφάλμα.
Ετικέτα βιογραφικού Η εκτέλεση συνεχίζεται στην ετικέτα που καθορίζετε.

Το ακόλουθο παράδειγμα χρησιμοποιεί μια δήλωση Resume μετά την εμφάνιση σφάλματος:

Sub EnterSquareRoot6()
  Dim Num As Variant
  Dim Msg As String
  Dim Ans ως ακέραιος αριθμός
Προσπάθησε ξανά:
Ρύθμιση διαχείρισης σφαλμάτων
  Σε σφάλμα GoTo BadEntry
Προτροπή για μια τιμή
  Num = InputBox ("Εισαγάγετε μια τιμή")
  Εάν Num = "" Τότε βγείτε από το Sub
Εισαγάγετε την τετραγωνική ρίζα
  ActiveCell.Value = Sqr(Num)
  Έξοδος υπο
BadEntry:
  Msg = Err.Number & “: “ & Error(Err.Number)
  Msg = Msg & vbNewLine & vbNewLine
  Msg = Msg & "Βεβαιωθείτε ότι έχετε επιλέξει ένα εύρος", "
  Msg = Msg & "το φύλλο δεν προστατεύεται",
  Msg = Msg & "και εισάγετε μια μη αρνητική τιμή."
  Msg = Msg & vbNewLine & vbNewLine & "Try again;"
  Ans = MsgBox(Msg, vbYesNo + vbCritical)
  Αν Ans = vbYes Τότε Συνεχίστε το TryAgain
End Sub

Αυτή η διαδικασία έχει μια άλλη ετικέτα: TryAgain. Εάν παρουσιαστεί σφάλμα, η εκτέλεση συνεχίζεται στην ετικέτα BadEntry και ο κώδικας εμφανίζει το παρακάτω μήνυμα. Εάν ο χρήστης απαντήσει κάνοντας κλικ στο Yes, εμφανίζεται η δήλωση Resume και η εκτέλεση μεταβαίνει πίσω στην ετικέτα TryAgain. Εάν ο χρήστης κάνει κλικ στο Όχι, η διαδικασία τελειώνει.

Τρόπος χρήσης της δήλωσης OneError στο Excel 2016 VBA

Εάν παρουσιαστεί σφάλμα, ο χρήστης μπορεί να αποφασίσει αν θα προσπαθήσει ξανά.

Σημειώστε ότι το μήνυμα σφάλματος περιλαμβάνει επίσης τον αριθμό σφάλματος, μαζί με την «επίσημη» περιγραφή σφάλματος.

Η δήλωση Resume διαγράφει την συνθήκη σφάλματος πριν συνεχίσει. Για να το δείτε αυτό, δοκιμάστε να αντικαταστήσετε την ακόλουθη πρόταση με τη δήλωση δεύτερη προς τελευταία στο προηγούμενο παράδειγμα:

Αν Ans = vbYes Τότε Μεταβείτε στο TryAgain

Ο κωδικός δεν λειτουργεί σωστά εάν χρησιμοποιείτε το GoTo αντί για τη Συνέχιση. Για επίδειξη, εισαγάγετε έναν αρνητικό αριθμό. Λαμβάνετε το μήνυμα σφάλματος. Κάντε κλικ στο Ναι για να προσπαθήσετε ξανά και, στη συνέχεια, εισαγάγετε έναν άλλο αρνητικό αριθμό. Αυτό το δεύτερο σφάλμα δεν παγιδεύεται επειδή η αρχική συνθήκη σφάλματος δεν διαγράφηκε.

Χειρισμός σφαλμάτων με λίγα λόγια

Για να σας βοηθήσουμε να διατηρήσετε όλη αυτήν την επιχείρηση διαχείρισης σφαλμάτων, ακολουθεί μια γρήγορη και βρώμικη περίληψη. Ένα μπλοκ κώδικα διαχείρισης σφαλμάτων έχει τα ακόλουθα χαρακτηριστικά:

  • Ξεκινά αμέσως μετά την ετικέτα που καθορίζεται στη δήλωση On Error.

  • Θα πρέπει να προσεγγιστεί από τη μακροεντολή σας μόνο εάν παρουσιαστεί σφάλμα. Αυτό σημαίνει ότι πρέπει να χρησιμοποιήσετε μια δήλωση όπως Exit Sub ή Exit Function αμέσως πριν από την ετικέτα.

  • Μπορεί να απαιτεί δήλωση βιογραφικού. Εάν επιλέξετε να μην ακυρώσετε τη διαδικασία όταν παρουσιαστεί σφάλμα, πρέπει να εκτελέσετε μια δήλωση Resume πριν επιστρέψετε στον κύριο κώδικα.

Γνωρίζοντας πότε πρέπει να αγνοήσετε τα λάθη

Σε ορισμένες περιπτώσεις, είναι απολύτως εντάξει να αγνοήσετε τα σφάλματα. Τότε είναι που εμφανίζεται η δήλωση On Error Resume Next.

Το παρακάτω παράδειγμα κάνει βρόχο σε κάθε κελί στην επιλεγμένη περιοχή και μετατρέπει την τιμή στην τετραγωνική του ρίζα. Αυτή η διαδικασία δημιουργεί ένα μήνυμα σφάλματος εάν οποιοδήποτε κελί στην επιλογή περιέχει αρνητικό αριθμό ή κείμενο:

Sub SelectionSqrt()
  Θαμπό κελί ως εύρος
  Αν TypeName(Selection) <> "Range" Τότε βγείτε από το Sub
  Για κάθε κελί στην επιλογή
    cell.Value = Sqr(cell.Value)
  Επόμενο κελί
End Sub

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

Η ακόλουθη ρουτίνα το επιτυγχάνει χρησιμοποιώντας τη δήλωση On Error Resume Next:

Sub SelectionSqrt()
  Θαμπό κελί ως εύρος
  Αν TypeName(Selection) <> "Range" Τότε βγείτε από το Sub
  Σφάλμα Συνέχιση Επόμενο
  Για κάθε κελί στην επιλογή
    cell.Value = Sqr(cell.Value)
  Επόμενο κελί
End Sub

Γενικά, μπορείτε να χρησιμοποιήσετε μια δήλωση On Error Resume Next εάν θεωρείτε ότι τα σφάλματα είναι αβλαβή ή ασήμαντα για την εργασία σας.


Πώς να αποκλείσετε το Microsoft Word από το άνοιγμα αρχείων σε λειτουργία μόνο για ανάγνωση στα Windows

Πώς να αποκλείσετε το Microsoft Word από το άνοιγμα αρχείων σε λειτουργία μόνο για ανάγνωση στα Windows

Πώς να αποκλείσετε το Microsoft Word από το άνοιγμα αρχείων σε λειτουργία μόνο για ανάγνωση στα Windows Το Microsoft Word ανοίγει αρχεία σε λειτουργία μόνο για ανάγνωση, καθιστώντας αδύνατη την επεξεργασία του; Μην ανησυχείτε, οι μέθοδοι είναι παρακάτω

Πώς να διορθώσετε τη λανθασμένη εκτύπωση εγγράφων του Microsoft Word

Πώς να διορθώσετε τη λανθασμένη εκτύπωση εγγράφων του Microsoft Word

Τρόπος διόρθωσης σφαλμάτων κατά την εκτύπωση λανθασμένων εγγράφων του Microsoft Word Τα σφάλματα στην εκτύπωση εγγράφων Word με αλλαγμένες γραμματοσειρές, ακατάστατες παραγράφους, κείμενο που λείπει ή χαμένο περιεχόμενο είναι αρκετά συνηθισμένα. Ωστόσο, μην το κάνετε

Διαγράψτε τα σχέδια με στυλό και επισημάνσεις στις διαφάνειες του PowerPoint σας

Διαγράψτε τα σχέδια με στυλό και επισημάνσεις στις διαφάνειες του PowerPoint σας

Εάν έχετε χρησιμοποιήσει το στυλό ή το highlighter για να σχεδιάσετε στις διαφάνειες του PowerPoint κατά τη διάρκεια μιας παρουσίασης, μπορείτε να αποθηκεύσετε τα σχέδια για την επόμενη παρουσίαση ή να τα σβήσετε, ώστε την επόμενη φορά που θα το δείξετε να ξεκινήσετε με καθαρές διαφάνειες PowerPoint. Ακολουθήστε αυτές τις οδηγίες για να διαγράψετε σχέδια με στυλό και επισημάνσεις: Σβήσιμο γραμμών μία στο […]

Περιεχόμενα της βιβλιοθήκης στυλ στο SharePoint 2010

Περιεχόμενα της βιβλιοθήκης στυλ στο SharePoint 2010

Η βιβλιοθήκη στυλ περιέχει αρχεία CSS, αρχεία επεκτάσιμης γλώσσας φύλλου στυλ (XSL) και εικόνες που χρησιμοποιούνται από προκαθορισμένες κύριες σελίδες, διατάξεις σελίδων και στοιχεία ελέγχου στο SharePoint 2010. Για να εντοπίσετε αρχεία CSS στη βιβλιοθήκη στυλ μιας τοποθεσίας δημοσίευσης: Επιλέξτε Ενέργειες τοποθεσίας→ Προβολή Όλο το περιεχόμενο του ιστότοπου. Εμφανίζεται το περιεχόμενο του ιστότοπου. Η βιβλιοθήκη Style βρίσκεται στο […]

Μορφοποίηση αριθμών σε χιλιάδες και εκατομμύρια σε αναφορές του Excel

Μορφοποίηση αριθμών σε χιλιάδες και εκατομμύρια σε αναφορές του Excel

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

Τρόπος κοινής χρήσης και παρακολούθησης τοποθεσιών του SharePoint

Τρόπος κοινής χρήσης και παρακολούθησης τοποθεσιών του SharePoint

Μάθετε πώς να χρησιμοποιείτε τα εργαλεία κοινωνικής δικτύωσης του SharePoints που επιτρέπουν σε άτομα και ομάδες να επικοινωνούν, να συνεργάζονται, να μοιράζονται και να συνδέονται.

Πώς να μετατρέψετε ημερομηνίες σε μορφές Julian στο Excel

Πώς να μετατρέψετε ημερομηνίες σε μορφές Julian στο Excel

Οι ημερομηνίες του Ιουλιανού χρησιμοποιούνται συχνά σε περιβάλλοντα παραγωγής ως χρονική σήμανση και γρήγορη αναφορά για έναν αριθμό παρτίδας. Αυτός ο τύπος κωδικοποίησης ημερομηνίας επιτρέπει στους λιανοπωλητές, τους καταναλωτές και τους αντιπροσώπους υπηρεσιών να προσδιορίσουν πότε κατασκευάστηκε ένα προϊόν και, επομένως, την ηλικία του προϊόντος. Οι ημερομηνίες του Ιουλιανού χρησιμοποιούνται επίσης στον προγραμματισμό, τον στρατό και την αστρονομία. Διαφορετικές […]

Πώς να δημιουργήσετε μια εφαρμογή Web Access

Πώς να δημιουργήσετε μια εφαρμογή Web Access

Μπορείτε να δημιουργήσετε μια εφαρμογή Ιστού στην Access 2016. Τι είναι λοιπόν μια εφαρμογή Ιστού; Λοιπόν, ο Ιστός σημαίνει ότι είναι διαδικτυακός και η εφαρμογή είναι απλώς συντομογραφία της «εφαρμογής». Μια προσαρμοσμένη εφαρμογή Ιστού είναι μια διαδικτυακή εφαρμογή βάσης δεδομένων στην οποία έχει πρόσβαση από το cloud χρησιμοποιώντας ένα πρόγραμμα περιήγησης. Δημιουργείτε και συντηρείτε την εφαρμογή Ιστού στην έκδοση για υπολογιστές […]

Γραμμή γρήγορης εκκίνησης στο SharePoint 2010

Γραμμή γρήγορης εκκίνησης στο SharePoint 2010

Οι περισσότερες σελίδες στο SharePoint 2010 εμφανίζουν μια λίστα με συνδέσμους πλοήγησης στη γραμμή γρήγορης εκκίνησης στην αριστερή πλευρά της σελίδας. Η γραμμή γρήγορης εκκίνησης εμφανίζει συνδέσμους προς επιλεγμένο περιεχόμενο ιστότοπου, όπως λίστες, βιβλιοθήκες, τοποθεσίες και σελίδες δημοσίευσης. Η γραμμή γρήγορης εκκίνησης περιλαμβάνει δύο πολύ σημαντικούς συνδέσμους: Σύνδεσμος όλου του περιεχομένου του ιστότοπου: Η […]

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

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

Για απλά προβλήματα, ο Επίλυση στο Excel συνήθως βρίσκει γρήγορα τις βέλτιστες τιμές μεταβλητής Επίλυσης για τη συνάρτηση αντικειμένου. Ωστόσο, σε ορισμένες περιπτώσεις, ο Επίλυση δυσκολεύεται να βρει τις τιμές της μεταβλητής Επίλυσης που βελτιστοποιούν τη συνάρτηση στόχου. Σε αυτές τις περιπτώσεις, ο Επίλυση εμφανίζει συνήθως ένα μήνυμα ή ένα μήνυμα σφάλματος που περιγράφει ή συζητά το πρόβλημα που […]