Χειρισμός σφαλμάτων στο Excel VBA - Εύκολες μακροεντολές Excel

Πίνακας περιεχομένων

Παρακάτω θα δούμε δύο προγράμματα στο Excel VBA. Ένα πρόγραμμα απλά αγνοεί τα λάθη. Το άλλο πρόγραμμα συνεχίζει την εκτέλεση σε καθορισμένη γραμμή όταν χτυπήσει ένα λάθος.

Κατάσταση:

Και τα δύο προγράμματα υπολογίζουν την τετραγωνική ρίζα των αριθμών.

Τετραγωνική ρίζα 1

Προσθέστε τις ακόλουθες γραμμές κώδικα στο κουμπί εντολής "Square Root 1".

1. Αρχικά, δηλώνουμε δύο αντικείμενα Range. Τα αντικείμενα Range τα λέμε rng και cell.

Dim rng Ως εύρος, κελί ως εύρος

2. Αρχικοποιούμε το αντικείμενο Rng rng με το επιλεγμένο εύρος.

Ρύθμιση rng = Επιλογή

3. Θέλουμε να υπολογίσουμε την τετραγωνική ρίζα κάθε κελιού σε μια τυχαία επιλεγμένη περιοχή (αυτό το εύρος μπορεί να έχει οποιοδήποτε μέγεθος). Στο Excel VBA, μπορείτε να χρησιμοποιήσετε τον βρόχο Για κάθε επόμενο για αυτό. Προσθέστε τις ακόλουθες γραμμές κώδικα:

Για κάθε κελί σε rng
Επόμενο κελί

Σημείωση: Το rng και το κελί επιλέγονται τυχαία εδώ, μπορείτε να χρησιμοποιήσετε οποιαδήποτε ονόματα. Θυμηθείτε να ανατρέξετε σε αυτά τα ονόματα στον υπόλοιπο κώδικα.

4. Προσθέστε την ακόλουθη γραμμή κώδικα στον βρόχο.

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

5. Στη συνέχεια, υπολογίζουμε την τετραγωνική ρίζα μιας τιμής. Στο Excel VBA, μπορούμε να χρησιμοποιήσουμε τη λειτουργία Sqr για αυτό. Προσθέστε την ακόλουθη γραμμή κώδικα στον βρόχο.

cell.Value = Sqr (cell.Value)

6. Κλείστε το Visual Basic Editor και δοκιμάστε το πρόγραμμα.

Αποτέλεσμα:

Συμπέρασμα: Το Excel VBA αγνόησε κελιά που περιέχουν μη έγκυρες τιμές, όπως αρνητικούς αριθμούς και κείμενο. Χωρίς τη χρήση της δήλωσης "On Error Resume Next" θα λάβετε δύο σφάλματα. Προσέξτε να χρησιμοποιήσετε τη δήλωση "On Error Resume Next" μόνο όταν είστε βέβαιοι ότι η παράβλεψη σφαλμάτων είναι εντάξει.

Τετράγωνη ρίζα 2

Προσθέστε τις ακόλουθες γραμμές κώδικα στο κουμπί εντολής 'Square Root 2'.

1. Το ίδιο πρόγραμμα με το Square Root 1 αλλά αντικαταστήστε το «On Error Resume Next» με:

Σφάλμα GoTo InvalidValue:

Σημείωση: Το InvalidValue επιλέγεται τυχαία εδώ, μπορείτε να χρησιμοποιήσετε οποιοδήποτε όνομα. Θυμηθείτε να ανατρέξετε σε αυτό το όνομα στον υπόλοιπο κώδικα.

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

Έξοδος Sub

Χωρίς αυτήν τη γραμμή, ο υπόλοιπος κώδικας (κωδικός σφάλματος) θα εκτελεστεί, ακόμη και αν δεν υπάρχει σφάλμα!

3. Το Excel VBA συνεχίζει την εκτέλεση στη γραμμή που ξεκινά με 'InvalidValue:' όταν πατήσετε ένα σφάλμα (μην ξεχνάτε το παχύ έντερο). Προσθέστε την ακόλουθη γραμμή κώδικα:

InvalidValue:

4. Διατηρούμε τον κωδικό σφάλματος απλό προς το παρόν. Εμφανίζουμε ένα MsgBox με κάποιο κείμενο και τη διεύθυνση του κελιού όπου παρουσιάστηκε το σφάλμα.

Το MsgBox "δεν μπορεί να υπολογίσει την τετραγωνική ρίζα στο κελί" & cell.Address

5. Προσθέστε την ακόλουθη γραμμή για να δώσετε εντολή στο Excel VBA να συνεχίσει την εκτέλεση μετά την εκτέλεση του κωδικού σφάλματος.

Συνέχιση Επόμενο

6. Κλείστε το Visual Basic Editor και δοκιμάστε το πρόγραμμα.

Αποτέλεσμα:

Θα βοηθήσει στην ανάπτυξη του τόπου, μοιράζονται τη σελίδα με τους φίλους σας

wave wave wave wave wave