Το VBA σάς επιτρέπει να χρησιμοποιείτε τελεστές σύγκρισης για να συγκρίνετε τιμές. Χρησιμοποιώντας αυτούς τους τελεστές, μπορείτε να συγκρίνετε τιμές και να επιστρέψετε ως Boolean True ή False ως αποτέλεσμα.
Ο κατάλογος των κύριων τελεστών σύγκρισης στο VBA
Αρχικά, θα εμφανίσουμε τη λίστα των τελεστών σύγκρισης που μπορούν να χρησιμοποιηθούν σε κώδικα VBA:
Χειριστής σύγκρισης | Εξήγηση |
= |
Ισο με |
Οχι ίσο με |
|
> |
Μεγαλύτερος από |
>= |
Μεγαλύτερο ή ίσο με |
< |
Λιγότερο από |
<= |
Λιγότερο ή ίσο με |
Ισο με
ο Ισο με Ο τελεστής ελέγχει εάν δύο τιμές είναι ίσες και επιστρέφει Σωστό ή Λάθος. Εδώ είναι το παράδειγμα του κώδικα:
123456789101112 | Dim intA ως ακέραιοςDim intB Ως ακέραιοςDim blnResult As BooleanintA = 5intB = 5Αν intA = intB ΤότεblnResult = ΑληθινόΑλλούblnResult = ΛάθοςΤέλος εαν |
Σε αυτό το παράδειγμα, θέλουμε να ελέγξουμε αν intA είναι ίσο με intBΤο Εάν αυτό είναι αλήθεια, η τιμή του Boolean blnΑποτελεσμα θα είναι Αληθινό, αλλιώς, θα είναι Λάθος.
Αρχικά, ορίζουμε τιμές των intA και intB έως 5:
12 | intA = 5intB = 5 |
Μετά από αυτό, χρησιμοποιούμε το = τελεστή στη δήλωση If για να ελέγξετε εάν οι τιμές του intA και intB είναι ίσα:
12345 | Αν intA = intB ΤότεblnResult = ΑληθινόΑλλούblnResult = ΛάθοςΤέλος εαν |
Και οι δύο μεταβλητές είναι ίσες με 5, επομένως το blnΑποτελεσμα επιστρέφει True:
Εικόνα 1. Χρήση του τελεστή Equal To
Οχι ίσο με
ο Δεν Ισο με Ο τελεστής ελέγχει εάν δύο τιμές δεν είναι ίσες και επιστρέφει Σωστό ή Λάθος. Εδώ είναι το παράδειγμα του κώδικα:
Παρουσιάστηκε σφάλμα. Παρακαλώ προσπαθήστε ξανά αργότερα. |
Σε αυτό το παράδειγμα, θέλουμε να ελέγξουμε αν intA δεν είναι ίσο με intBΤο Εάν αυτό είναι αλήθεια, η τιμή του Boolean blnΑποτελεσμα θα είναι Αληθινό, αλλιώς, θα είναι Λάθος.
Χρησιμοποιούμε το τελεστή στη δήλωση If για να ελέγξετε εάν οι τιμές του intA και intB είναι διαφορετικά:
12345 | Αν intA intB ΤότεblnResult = ΑληθινόΑλλούblnResult = ΛάθοςΤέλος εαν |
Η αξία του intA είναι 5 και η τιμή του intB είναι 6, οι μεταβλητές δεν είναι ίσες, επομένως το blnΑποτελεσμα επιστρέφει True:
Εικόνα 2. Χρήση του τελεστή Not Equal To
Μεγαλύτερος από
ο Μεγαλύτερος από Ο χειριστής ελέγχει εάν η πρώτη τιμή είναι μεγαλύτερη από τη δεύτερη τιμή και επιστρέφει Σωστό ή Λάθος. Εδώ είναι το παράδειγμα του κώδικα:
123456789101112 | Dim intA ως ακέραιοςDim intB Ως ακέραιοςDim blnResult As BooleanintA = 6intB = 5Αν intA> intB ΤότεblnResult = ΑληθινόΑλλούblnResult = ΛάθοςΤέλος εαν |
Σε αυτό το παράδειγμα, θέλουμε να ελέγξουμε αν intA είναι μεγαλύτερο από intBΤο Εάν αυτό είναι αλήθεια, η τιμή του Boolean blnΑποτελεσμα θα είναι Αληθινό, αλλιώς, θα είναι Λάθος.
Επιπλέον, χρησιμοποιούμε το > τελεστή στη δήλωση If για να ελέγξετε εάν η τιμή του intA είναι μεγαλύτερο από intB:
12345 | Αν intA> intB ΤότεblnResult = ΑληθινόΑλλούblnResult = ΛάθοςΤέλος εαν |
Εν κατακλείδι, όπωςintA είναι μεγαλύτερο από intB, ο blnΑποτελεσμα επιστρέφει True:
Εικόνα 3. Χρήση του τελεστή Greater Than
Μεγαλύτερο ή ίσο με
ο Μεγαλύτερο ή ίσο με Ο τελεστής ελέγχει εάν η πρώτη τιμή είναι μεγαλύτερη ή ίση με τη δεύτερη τιμή και επιστρέφει Σωστό ή Λάθος. Εδώ είναι το παράδειγμα του κώδικα:
123456789101112 | Dim intA ως ακέραιοςDim intB Ως ακέραιοςDim blnResult As BooleanintA = 5intB = 5Αν intA> = intB ΤότεblnResult = ΑληθινόΑλλούblnResult = ΛάθοςΤέλος εαν |
Σε αυτό το παράδειγμα, θέλουμε να ελέγξουμε αν intA είναι μεγαλύτερη ή ίση με intBΤο Εάν αυτό είναι αλήθεια, η τιμή του Boolean blnΑποτελεσμα θα είναι Αληθινό, αλλιώς, θα είναι Λάθος.
Χρησιμοποιούμε το>= τελεστή στη δήλωση If για να ελέγξετε εάν η τιμή του intA είναι μεγαλύτερη ή ίση με intB:
12345 | Αν intA> = intB ΤότεblnResult = ΑληθινόΑλλούblnResult = ΛάθοςΤέλος εαν |
Συμπερασματικά, καθώς και οι δύο μεταβλητές είναι ίσες με 5, το blnΑποτελεσμα επιστρέφει True:
Εικόνα 4. Χρήση του τελεστή Greater Than ή Equal To
Λιγότερο από
ο Λιγότερο από Ο χειριστής ελέγχει εάν η πρώτη τιμή είναι μικρότερη από τη δεύτερη τιμή και επιστρέφει Σωστό ή Λάθος. Εδώ είναι το παράδειγμα του κώδικα:
123456789101112 | Dim intA ως ακέραιοςDim intB Ως ακέραιοςDim blnResult As BooleanintA = 5intB = 6Αν intA <intB ΤότεblnResult = ΑληθινόΑλλούblnResult = ΛάθοςΤέλος εαν |
Σε αυτό το παράδειγμα, θέλουμε να ελέγξουμε αν intA είναι λιγότερο από intBΤο Εάν αυτό είναι αλήθεια, η τιμή του Boolean blnΑποτελεσμα θα είναι αληθινό, διαφορετικά, θα είναι ψευδές.
Χρησιμοποιούμε το < τελεστή στη δήλωση If για να ελέγξετε αν η τιμή του intA είναι λιγότερο από intB:
12345 | Αν intA <intB ΤότεblnResult = ΑληθινόΑλλούblnResult = ΛάθοςΤέλος εαν |
Οπως και intA είναι λιγότερο από intB, ο blnΑποτελεσμα επιστρέφει True:
Εικόνα 5. Χρήση του τελεστή Less Than
Λιγότερο από ή ίσο προς
ο Λιγότερο από ή Ισο με Ο τελεστής ελέγχει εάν η πρώτη τιμή είναι μικρότερη ή ίση με και επιστρέφει Σωστό ή Λάθος. Εδώ είναι το παράδειγμα του κώδικα:
123456789101112 | Dim intA ως ακέραιοςDim intB Ως ακέραιοςDim blnResult As BooleanintA = 5intB = 5Αν intA <= intB ΤότεblnResult = ΑληθινόΑλλούblnResult = ΛάθοςΤέλος εαν |
Σε αυτό το παράδειγμα, θέλουμε να ελέγξουμε αν intA είναι μικρότερη ή ίση με intBΤο Εάν αυτό είναι αλήθεια, η τιμή του Boolean blnΑποτελεσμα θα είναι αληθινό, διαφορετικά, θα είναι ψευδές.
Χρησιμοποιούμε το <= τελεστή στη δήλωση If για να ελέγξετε αν η τιμή του intA είναι μικρότερη ή ίση με intB:
12345 | Αν intA <= intB ΤότεblnResult = ΑληθινόΑλλούblnResult = ΛάθοςΤέλος εαν |
Συμπερασματικά, καθώς και οι δύο μεταβλητές είναι ίσες με 5, το blnΑποτελεσμα επιστρέφει True:
Εικόνα 6. Χρήση του τελεστή Less Than ή Equal To
Είναι Operator
Το Is Operator ελέγχει εάν δύο μεταβλητές αντικειμένου περιέχουν το ίδιο αντικείμενο:
12345678910111213 | Sub CompareObjects ()Dim ws1 Ως φύλλο εργασίας, ws2 ως φύλλο εργασίαςΟρισμός ws1 = Φύλλα ("Φύλλο1")Ορισμός ws2 = Φύλλα ("Φύλλο2")Αν ws1 Είναι ws2 ΤότεMsgBox "διο WS"ΑλλούMsgBox "Διαφορετικά WS"Τέλος εανΤέλος υπο |
Όπως ο χειριστής
Το Like Operator μπορεί να χρησιμοποιηθεί για την εύρεση ασαφών αντιστοιχίσεων κειμένου. Αυτό το παράδειγμα θα δοκιμάσει εάν μια συμβολοσειρά ξεκινά με "Mr."
1234567891011121314 | Sub LikeDemo ()Dim strName As StringDim blnResult As BooleanstrName = "Κύριος Μάικλ Τζέιμς"Αν strName Όπως "Mr*" ΤότεblnResult = ΑληθινόΑλλούblnResult = ΛάθοςΤέλος εανΤέλος υπο |
Αν θέλετε να μάθετε πώς να συγκρίνετε συμβολοσειρές, κάντε κλικ εδώ: VBA Σύγκριση συμβολοσειρών - StrComp
Εάν θέλετε να μάθετε πώς να χρησιμοποιείτε τελεστές σύγκρισης, κάντε κλικ εδώ: Λογικοί χειριστές VBA