Ο VBA είναι χειριστής

Ο τελεστής VBA "Is" χρησιμοποιείται για τη σύγκριση δύο αναφορών αντικειμένων.

Εάν οι αναφορές αντικειμένων είναι ίδιες, Είναι θα επιστρέψει TRUE. Εάν οι αναφορές αντικειμένων είναι διαφορετικές, Είναι θα επιστρέψει ΛΑΘΟΣ.

Δεν είναι τίποτα

Η πιο συνηθισμένη χρήση του Είναι Ο τελεστής πρέπει να ελέγξει εάν ένα αντικείμενο έχει αντιστοιχιστεί σε μια μεταβλητή αντικειμένου.

Μπορείτε να δείτε πώς λειτουργεί αυτό στην παρακάτω διαδικασία:

123456789101112 Sub IsNothing ()Dim ws Ως φύλλο εργασίας'Ορισμός ws = ActiveSheetΑν το ws δεν είναι τίποτα τότεMsgBox "Δεν έχει εκχωρηθεί"ΑλλούMsgBox "Εκχωρήθηκε"Τέλος εανΤέλος υπο

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

Διασταυρώστε - δεν είναι τίποτα

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

1234567 Private Sub Worksheet_Change (ByVal Target As Range)Εάν δεν διασταυρώνεται (στόχος, εύρος ("a1: a10")) δεν είναι τίποτα τότεMsgBox "Διασταυρώστε"Τέλος εανΤέλος υπο

Είναι - Συγκρίνετε αντικείμενα

Ο τελεστής Is μπορεί επίσης να χρησιμοποιηθεί για τη σύγκριση αντικειμένων.

Ας δούμε ένα παράδειγμα. Εδώ θα αναθέσουμε δύο φύλλα εργασίας σε αντικείμενα φύλλου εργασίας rng1 και rng2, ελέγχοντας αν τα δύο αντικείμενα φύλλου εργασίας αποθηκεύουν το ίδιο φύλλο εργασίας:

12345678910111213 Sub CompareObjects ()Dim ws1 Ως φύλλο εργασίας, ws2 ως φύλλο εργασίαςΟρισμός ws1 = Φύλλα ("Φύλλο1")Ορισμός ws2 = Φύλλα ("Φύλλο2")Αν ws1 Είναι ws2 ΤότεMsgBox "διο WS"ΑλλούMsgBox "Διαφορετικά WS"Τέλος εανΤέλος υπο

Φυσικά τα αντικείμενα του φύλλου εργασίας δεν είναι τα ίδια, οπότε επιστρέφεται το "Different WSs".

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

wave wave wave wave wave