Λογικοί χειριστές VBA: ΚΑΙ, Ή, ΟΧΙ
Λογικοί χειριστές του Excel VBA
Ας υποθέσουμε ότι θέλετε να επεξεργαστείτε μια παραγγελία πελάτη. Για αυτό, θέλετε πρώτα να ελέγξετε αν υπάρχει το παραγγελθέν προϊόν ή όχι. Εάν συμβαίνει αυτό, θέλετε επίσης να ελέγξετε εάν η ποσότητα στο χέρι είναι αρκετή. Οι λογικοί τελεστές είναι χρήσιμοι σε τέτοιες περιπτώσεις. Οι λογικοί τελεστές χρησιμοποιούνται για την αξιολόγηση περισσότερων από μία συνθηκών.
Οι κύριοι λογικοί τελεστές του Excel VBA ΚΑΙ, Ή, ΟΧΙ παρατίθενται στον παρακάτω πίνακα:
Δ / Ν | Χειριστής | Περιγραφή | Παράδειγμα | Παραγωγή |
1 | ΚΑΙ | ΚΑΙ: Χρησιμοποιείται για το συνδυασμό περισσότερων από μία συνθηκών. Εάν όλες οι συνθήκες είναι αληθείς, ΚΑΙ αξιολογείται ως αληθής. Εάν κάποια από τις συνθήκες είναι ψευδής, και αξιολογείται ως ψευδής | Εάν true = true ΚΑΙ false = true ΤΟ | ψευδής |
2 | Ή | Ή: Χρησιμοποιείται για το συνδυασμό περισσότερων από μία συνθηκών. Εάν κάποια από τις συνθήκες αξιολογηθεί ως αληθής, το OR επιστρέφει true. Εάν όλα είναι ψευδώς, Ή επιστρέφει ψευδές | Εάν true = true Ή true = false ΤΟ | αληθής |
3 | ΔΕΝ | ΟΧΙ: Αυτό λειτουργεί σαν μια αντίστροφη συνάρτηση. Εάν η συνθήκη είναι αληθής, επιστρέφει ψευδής και αν μια συνθήκη είναι ψευδής, επιστρέφει αληθής. | Εάν ΔΕΝ (αληθινό) | ψευδής |
Παράδειγμα πηγαίου κώδικα VBA Logical Operators
Για λόγους απλότητας, θα συγκρίνουμε σκληρούς κωδικοποιημένους αριθμούς.
Προσθέστε κουμπιά ActiveX στο φύλλο από την επιλογή "Εισαγωγή".
Ορίστε τις ιδιότητες όπως φαίνεται στην παρακάτω εικόνα
Ο παρακάτω πίνακας δείχνει τις ιδιότητες που πρέπει να αλλάξετε και τις τιμές που πρέπει να ενημερώσετε επίσης.
Δ / Ν | Ελεγχος | Ιδιοκτησία | αξία |
1 | Κουμπί Command1 | Ονομα | btnAND |
Λεζάντα | ΚΑΙ χειριστής (0 = 0) | ||
2 | Κουμπί Command2 | Ονομα | btnOR |
Λεζάντα | Ή χειριστής (1 = 1) ή (5 = 0) | ||
3 | Κουμπί Command3 | Ονομα | btnΟΧΙ |
Λεζάντα | ΟΧΙ Ο χειριστής Όχι (0 =) |
Προσθέστε τον ακόλουθο κώδικα στο btnAND_Click
Private Sub btnAND_Click()If (1 = 1) And (0 = 0) ThenMsgBox "AND evaluated to TRUE", vbOKOnly, "AND operator"ElseMsgBox "AND evaluated to FALSE", vbOKOnly, "AND operator"End IfEnd Sub
VBA Εάν ΚΑΙ χειριστής
- "Εάν (1 = 1) Και (0 = 0) Στη συνέχεια" η δήλωση if χρησιμοποιεί τον λογικό τελεστή AND για να συνδυάσει δύο συνθήκες (1 = 1) Και (0 = 0). Εάν ισχύουν και οι δύο συνθήκες, εκτελείται ο κωδικός πάνω από τη λέξη-κλειδί «Else». Εάν και οι δύο συνθήκες δεν είναι αληθείς, εκτελείται ο παρακάτω κώδικας «Else».
Προσθέστε τον ακόλουθο κώδικα στο btnOR_Κάντε κλικ
Private Sub btnOR_Click()If (1 = 1) Or (5 = 0) ThenMsgBox "OR evaluated to TRUE", vbOKOnly, "OR operator"ElseMsgBox "OR evaluated to FALSE", vbOKOnly, "OR operator"End IfEnd Sub
VBA Εάν Ή χειριστής
- "Εάν (1 = 1) Ή (5 = 0) Στη συνέχεια" η δήλωση if χρησιμοποιεί τον λογικό τελεστή OR για να συνδυάσει δύο συνθήκες (1 = 1) Και (5 = 0). Εάν ισχύει κάποια από τις προϋποθέσεις, εκτελείται ο κωδικός πάνω από τη λέξη-κλειδί Else. Εάν και οι δύο συνθήκες είναι ψευδείς, εκτελείται ο παρακάτω κώδικας Else.
Προσθέστε τον ακόλουθο κώδικα στο btnNOT_Κάντε κλικ
Private Sub btnNOT_Click()If Not (0 = 0) ThenMsgBox "NOT evaluated to TRUE", vbOKOnly, "NOT operator"ElseMsgBox "NOT evaluated to FALSE", vbOKOnly, "NOT operator"End IfEnd Sub
VBA Εάν ΔΕΝ Χειριστής
- "Εάν όχι (0 = 0) Στη συνέχεια" η συνάρτηση VBA If Not χρησιμοποιεί τον λογικό τελεστή ΔΕΝ για να αρνηθεί το αποτέλεσμα της συνθήκης if statement. Εάν οι συνθήκες είναι αληθείς, εκτελείται ο παρακάτω κώδικας «Else». Εάν η συνθήκη είναι αληθής, εκτελείται ο κωδικός πάνω από το Else.
Κατεβάστε το Excel που περιέχει τον παραπάνω κώδικα