Σφάλμα VBA - Πώς να χρησιμοποιήσετε τη λειτουργία ISERROR στο VBA; (Παραδείγματα)

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

Λειτουργία Excel VBA ISERROR

VBA IsError το ίδιο το όνομα της συνάρτησης συνοψίζει τη λειτουργικότητα. Αυτή η συνάρτηση θα προσδιορίσει εάν η τιμή που παρέχουμε είναι τιμή σφάλματος ή όχι. Εάν η παρεχόμενη τιμή ή η τιμή αναφοράς εύρους είναι τιμή σφάλματος, τότε θα έχουμε το αποτέλεσμα ως "ΑΛΗΘΕΙΑ", εάν η τιμή δεν είναι τιμή σφάλματος, θα λάβουμε το αποτέλεσμα ως "ΛΑΘΟΣ".

Σύνταξη

Η έκφραση δεν είναι παρά την τιμή που δοκιμάζουμε ή την τιμή αναφοράς κελιού ή την έκφραση τύπου. Και όπως μπορείτε να δείτε, το αποτέλεσμα θα είναι «Boolean».

Παραδείγματα

Παράδειγμα # 1

Θα δούμε ένα απλό παράδειγμα για να διαπιστώσουμε εάν η τιμή είναι σφάλμα ή όχι. Για παράδειγμα, έχουμε χαμηλότερη τιμή στο κελί A1.

Θα ελέγξουμε εάν αυτή η τιμή είναι τιμή σφάλματος ή όχι.

  • Ξεκινήστε τον κώδικα μακροεντολής.

Κώδικας:

Sub IsError_Example1 () End Sub
  • Δηλώστε μια μεταβλητή για να αποθηκεύσετε την τιμή κελιού A1.

Κώδικας:

Sub IsError_Example1 () Dim ExpValue as Variant End Sub
  • Τώρα αντιστοιχίστε την τιμή του κελιού A1 σε αυτήν τη μεταβλητή στο VBA.

Κώδικας:

Sub IsError_Example1 () Dim ExpValue as Variant ExpValue = Range ("A1"). Value End Sub
  • Τώρα ελέγξτε αν αυτή η μεταβλητή τιμή είναι σφάλμα ή όχι.

Κώδικας:

Sub IsError_Example1 () Dim ExpValue as Variant ExpValue = Range ("A1"). Value IsError (ExpValue) End Sub
  • Κλείστε αυτό το αποτέλεσμα σε ένα πλαίσιο μηνυμάτων στο VBA.

Κώδικας:

Sub IsError_Example1 () Dim ExpValue as Variant ExpValue = Range ("A1"). Value MsgBox IsError (ExpValue) End Sub

Εντάξει, ας τρέξουμε τον κώδικα και να δούμε το αποτέλεσμα της συνάρτησης ISERROR.

Το αποτέλεσμα είναι ΑΛΗΘΕΙ επειδή η τιμή στο κελί A1 είναι # DIV / 0! που είναι το σφάλμα διαίρεσης.

Τώρα θα αλλάξουμε την τιμή του κελιού Α1 σε "Γεια".

Τώρα εκτελέστε τον κωδικό και δείτε το αποτέλεσμα.

Λοιπόν, το αποτέλεσμα είναι FALSE τώρα, επειδή η τιμή στο κελί A1 δεν είναι η τιμή σφάλματος.

Επομένως, πρώτα, πρέπει να καταλάβουμε ποιοι είναι οι τύποι σφαλμάτων και γιατί εμφανίζονται στο φύλλο εργασίας excel. Ακολουθούν οι λεπτομερείς τιμές σφάλματος και εξηγήσεις.

  • # DIV / 0: Αυτό το σφάλμα παρουσιάζεται κυρίως επειδή όταν προσπαθούμε να διαιρέσουμε τον αριθμό με μηδέν. Αυτό το σφάλμα ονομάζεται "Division by Zero".
  • # N / A: Όταν προσπαθείτε να ανακτήσετε τα δεδομένα από διαφορετικούς πίνακες και αν δεν βρεθεί η τιμή, τότε θα λάβουμε αυτό το σφάλμα και αυτό το σφάλμα ονομάζεται "Μη διαθέσιμο".
  • #NAME ?: Εάν το Excel δεν μπορεί να αναγνωρίσει τον τύπο ή το όνομα, τότε θα λάβουμε αυτό το σφάλμα.
  • # NULL !: Όταν καθορίζετε ένα χαρακτήρα διαστήματος ανάμεσα στις αναφορές κελιού αντί για κόμμα.
  • #NUM !: Η αριθμητική τιμή που παρέχεται στα δεδομένα δεν είναι έγκυρη.
  • # VALUE !: Όταν αναφέρετε τις τιμές κελιών για μαθηματικούς υπολογισμούς και αν η μορφή αριθμών δεν είναι σωστή, θα λάβουμε αυτό το σφάλμα.
  • #REF !: Εάν το κελί είναι ένας τύπος, έχει αναφορές κελιού και αν το κελί αναφοράς έχει διαγραφεί, τότε θα λάβουμε αυτό το σφάλμα αναφοράς.

Παράδειγμα # 2

Τώρα, δείτε το παρακάτω σύνολο δεδομένων.

Πρέπει να προσδιορίσουμε ποιες είναι οι τιμές σφάλματος από αυτήν τη λίστα και να αποθηκεύσουμε το αποτέλεσμα, είτε ΑΛΗΘΕΙΑ ή ΛΑΘΟΣ, στην επόμενη στήλη.

Δεδομένου ότι πρέπει να δοκιμάσουμε περισσότερα από ένα κελιά, πρέπει να το συμπεριλάβουμε σε βρόχους. Ο παρακάτω κώδικας θα προσδιορίσει τις τιμές σφάλματος.

Κώδικας:

Sub IsError_Example2 () Dim k As Integer For k = 2 to 12 Cells (k, 4). Value = IsError (Cells (k, 3). Value) Next k End Sub

Όταν εκτελείτε αυτόν τον κωδικό, θα λάβουμε το παρακάτω αποτέλεσμα στη στήλη 4.

Όπου υπάρχει ΑΛΗΘΕΙΑ, αυτή η τιμή είναι μια τιμή σφάλματος.

Πράγματα που πρέπει να θυμάστε

  • Το ISERROR επιστρέφει το αποτέλεσμα τύπου Boolean, δηλαδή, είτε ΑΛΗΘΕΙΑ ή ΛΑΘΟΣ.
  • Διατίθεται ως συνάρτηση φύλλου εργασίας καθώς και ως συνάρτηση VBA.
  • Είναι χρήσιμο ως μέρος μεγάλων έργων VBA.
  • Αναγνωρίζει μόνο προκαθορισμένες τιμές σφάλματος (Τύπος σφάλματος ανάγνωσης).

ενδιαφέροντα άρθρα...