Τύπος δεδομένων VBA Boolean (Dim Variable)

Boolean Variable Type

Ο τύπος δεδομένων VBA Boolean χρησιμοποιείται για την αποθήκευση τιμών True ή False. Το True μπορεί επίσης να αναπαρασταθεί με 1 και το False με 0.

Για να δηλώσετε μια μεταβλητή Boolean, χρησιμοποιείτε τη δήλωση Dim (συντομογραφία για Dimension):

1 Dim blnA ως Boolean

Στη συνέχεια, για να εκχωρήσετε μια τιμή σε μια μεταβλητή, απλά χρησιμοποιήστε το πρόσημο ίσου:

1 blnA = Αλήθεια

Όταν το βάζετε σε μια διαδικασία, θα μπορούσε να μοιάζει με αυτό:

123456789101112 Sub blnExample ()«δηλώστε τη μεταβλητή booleanDim blnA ως Boolean«εκτελέστε κώδικα για να συμπληρώσετε τη μεταβλητή - συνήθως ο κώδικας είναι μια πρόταση if ή μια περίπτωσηΑν Εύρος ("A1")> 0 τότεblnA = αλήθειαΑλλούblnA = ΛάθοςΤέλος εαν"εμφάνιση του πλαισίου μηνυμάτωνMsgBox "Η δοκιμή για να διαπιστωθεί εάν το κελί έχει τιμή μεγαλύτερη από 0 είναι" & blnAΤέλος υπο

Εάν εκτελέσετε τον παραπάνω κώδικα, θα εμφανιστεί το ακόλουθο πλαίσιο μηνυμάτων.

Δηλώστε Boolean Variable σε Module ή Global Level

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

Αντ 'αυτού, μπορείτε να δηλώσετε μεταβλητές Boolean σε ενότητα ή παγκόσμιο επίπεδο.

Επίπεδο ενότητας

Δηλώνετε Επίπεδο ενότητας μεταβλητές στην κορυφή των ενοτήτων κώδικα με το Αμυδρός δήλωση.

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

Παγκόσμιο Επίπεδο

Δηλώνετε επίσης Παγκόσμιο επίπεδο μεταβλητές στην κορυφή των ενοτήτων κώδικα. Ωστόσο, αντί να χρησιμοποιήσετε το Αμυδρός δήλωση, θα χρησιμοποιούσατε το Δημόσιο δήλωση για να υποδείξει ότι το Boolean η μεταβλητή είναι διαθέσιμη για χρήση σε όλο το έργο VBA.

1 Public blnA ως Boolean

Αν επρόκειτο να δηλώσετε το Boolean μεταβλητή σε επίπεδο μονάδας και στη συνέχεια προσπαθήστε να τη χρησιμοποιήσετε σε διαφορετική ενότητα, θα λάβετε ένα σφάλμα.

Ωστόσο, εάν είχατε χρησιμοποιήσει τη λέξη -κλειδί Public για να δηλώσετε το Boolean μεταβλητό, το σφάλμα δεν θα εμφανιστεί και η διαδικασία θα εκτελεστεί τέλεια.

Χρησιμοποιώντας μια μεταβλητή Boolean

Χρησιμοποιείτε τη μεταβλητή Boolean σε λογική σύγκριση. Αυτά χρησιμοποιούνται συχνά με εντολές If για να ελέγξετε εάν μια συνθήκη είναι σωστή ή λανθασμένη σύμφωνα με το παραπάνω παράδειγμα, ή σε μια γραμμή κώδικα για να εφαρμόσετε μια λογική δοκιμή - ίσως για να δείτε εάν μια τιμή είναι μεγαλύτερη από μια άλλη.

12345678 Sub blnExample ()«δηλώστε τη μεταβλητή booleanDim blnA As Boolean«δοκιμάστε για να δείτε αν ένας αριθμός είναι μεγαλύτερος από τον επόμενο αριθμόblnA = 45> 68"εμφάνιση του πλαισίου μηνυμάτωνMsgBox blnAΤέλος υπο

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

γιατί φυσικά το 45 δεν είναι μεγαλύτερο από το 68!

Χρήση τελεστών Boolean

Καθώς οι μεταβλητές Boole χρησιμοποιούνται στη λογική σύγκριση, μπορούμε να χρησιμοποιήσουμε τους λογικούς τελεστές AND και OR για να ελέγξουμε εάν περισσότερες από μία συνθήκες είναι αληθείς ή λανθασμένες.

Χρήση του τελεστή AND

Μπορούμε να χρησιμοποιήσουμε τη συνάρτηση AND για να δούμε αν πληρούνται και οι δύο προϋποθέσεις.

12345678 Sub blnExample ()«δηλώστε τη μεταβλητή booleanDim blnA As Boolean"χρησιμοποιήστε τον τελεστή AND για να ελέγξετε εάν και οι δύο συνθήκες είναι αληθείςblnA = 10> 13 Και 15> 12"εμφάνιση του πλαισίου μηνυμάτωνMsgBox blnAΤέλος υπο

ή θα μπορούσαμε να εκτελέσουμε την ίδια δοκιμή χρησιμοποιώντας μια δήλωση If:

123456789101112 Sub blnExample ()«δηλώστε τη μεταβλητή booleanDim blnA As Boolean«χρησιμοποιήστε τον τελεστή AND για να ελέγξετε εάν και οι δύο συνθήκες είναι αληθείςΑν 10> 13 Και 15> 12 ΤότεblnA = ΑλήθειαΑλλούblnA = ΛάθοςΤέλος εαν"εμφάνιση του πλαισίου μηνυμάτωνMsgBox blnAΤέλος υπο

Και τα δύο παραπάνω παραδείγματα θα επέστρεφαν ΨΕΥΔΗΣ λόγω του ότι 10 είναι ΔΕΝ μεγαλύτερο από 13 - και ΚΑΙ ΤΑ ΔΥΟ Οι προϋποθέσεις πρέπει να είναι True για να είναι αληθές το Boolean.

Χρήση του τελεστή OR

Μπορούμε να χρησιμοποιήσουμε τη συνάρτηση OR για να δούμε εάν πληρούται ΜΙΑ από τις προϋποθέσεις.

12345678 Sub blnExample ()«δηλώστε τη μεταβλητή booleanDim blnA As Boolean«χρησιμοποιήστε τον τελεστή AND για να ελέγξετε εάν και οι δύο συνθήκες είναι αληθείςblnA = 10> 13 15 15> 12"εμφάνιση του πλαισίου μηνυμάτωνMsgBox blnAΤέλος υπο

ή θα μπορούσαμε να εκτελέσουμε την ίδια δοκιμή χρησιμοποιώντας μια δήλωση If:

123456789101112 Sub blnExample ()«δηλώστε τη μεταβλητή booleanDim blnA As Boolean«χρησιμοποιήστε τον τελεστή AND για να ελέγξετε εάν και οι δύο συνθήκες είναι αληθείςΑν 10> 13 15 15> 12 ΤότεblnA = ΑλήθειαΑλλούblnA = ΛάθοςΤέλος εαν"εμφάνιση του πλαισίου μηνυμάτωνMsgBox blnAΤέλος υπο

Αυτά τα παραδείγματα θα επέστρεφαν ΑΛΗΘΗΣ λόγω του ότι το 10 ΔΕΝ είναι μεγαλύτερο από 13 ΑΛΛΑ 15 ΕΙΝΑΙ μεγαλύτερο από 12 - καιΜΟΝΟ ΕΝΑ Η κατάσταση πρέπει να είναι True για να είναι αληθινή η Boolean.

Η χρήση των εντολών If μας επιτρέπει να χρησιμοποιούμε πιο λογικούς τελεστές

Χρήση του τελεστή NOT

Μπορούμε επίσης να χρησιμοποιήσουμε τον τελεστή NOT με τη μεταβλητή Boolean. Ο τελεστής NOT αναιρεί την τιμή της συνθήκης - οπότε αν μια συνθήκη είναι αληθής, ο τελεστής NOT θα επιστρέψει false.

12345678910111213141516 Sub FindDifferences ()«δηλώστε μεταβλητές εύρουςDim rng1 As RangeDim rng2 As Range«ενεργοποιήστε το φύλλο έναΦύλλα εργασίας ("Φύλλο1"). Ενεργοποιήστε«συμπληρώστε τις περιοχέςΟρισμός rng1 = Εύρος ("A3")Ορισμός rng2 = Εύρος ("B3")«χρησιμοποιήστε τον τελεστή NOT για να δείτε αν οι τιμές είναι ίσες ή όχι.Εάν όχι rng1.Value = rng2.Value ΤότεMsgBox "Οι τιμές στα κελιά δεν είναι ίσες"ΑλλούMsgBox "Οι τιμές στα κελιά είναι ίσες"Τέλος εανΤέλος υπο

Χρήση του Xor Logical Operator

οXor Ο λογικός τελεστής χρησιμοποιείται για τη σύγκριση δύο ή περισσότερων συνθηκών. Εάν μία από τις προϋποθέσεις είναι αληθής, θα επιστρέψει TRUE. Εάν υπάρχουν 2 προϋποθέσεις, και ΚΑΜΙΑ δεν είναι αληθινές ή ΚΑΙ οι δύο είναι αληθινές, θα επιστρέψει ΛΑΘΟΣ.

1234567891011121314151617 Sub blnExample ()"δηλώνουν οι ακέραιοιDim intA ως ακέραιοςDim intB Ως ακέραιος«δηλώστε τη μεταβλητή booleanDim blnResult As Boolean"συμπληρώστε τις μεταβλητέςintA = 5intB = 10«ελέγξτε αν είναι αλήθειαΑν intA = 5 Xor intB = 5 ΤότεblnResult = ΑληθινόΑλλούblnResult = ΛάθοςΤέλος εανMsgBox blnΑποτελεσμαΤέλος υπο

Στο παραπάνω παράδειγμα, καθώς ΜΙΑ από τις συνθήκες είναι TRUE, το πλαίσιο μηνυμάτων θα επιστρέψει ΑΛΗΘΗΣ.

1234567891011121314151617 Sub blnExample ()"δηλώνουν οι ακέραιοιDim intA ως ακέραιοςDim intB Ως ακέραιος«δηλώστε τη μεταβλητή booleanDim blnResult As Boolean"συμπληρώστε τις μεταβλητέςintA = 5intB = 5«ελέγξτε αν είναι αλήθειαΑν intA = 5 Xor intB = 5 ΤότεblnResult = ΑληθινόΑλλούblnResult = ΛάθοςΤέλος εανMsgBox blnΑποτελεσμαΤέλος υπο

Ωστόσο, στο παραπάνω παράδειγμα, καθώς ισχύουν ΚΑΙ οι δύο συνθήκες, το πλαίσιο μηνυμάτων θα επιστρέψει ΨΕΥΔΗΣ.

1234567891011121314151617 Sub blnExample ()"δηλώνουν οι ακέραιοιDim intA ως ακέραιοςDim intB Ως ακέραιος«δηλώστε τη μεταβλητή booleanDim blnResult As Boolean"συμπληρώστε τις μεταβλητέςintA = 6intB = 8«ελέγξτε αν είναι αλήθειαΑν intA = 5 Xor intB = 5 ΤότεblnResult = ΑληθινόΑλλούblnResult = ΛάθοςΤέλος εανMsgBox blnΑποτελεσμαΤέλος υπο

και τέλος, καθώς και οι δύο συνθήκες είναι FALSE, το πλαίσιο μηνύματος θα επιστρέψει επίσης FALSE.

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

wave wave wave wave wave