VBA logiske operatører: AND, OR, NOT
Excel VBA logiske operatører
La oss si at du vil behandle en kundeordre. For det vil du først sjekke om det bestilte produktet eksisterer eller ikke. Hvis den gjør det, vil du også sjekke om mengden som er tilgjengelig er nok. Logiske operatører kommer godt med i slike tilfeller. Logiske operatører brukes til å evaluere mer enn én tilstand.
De viktigste Excel VBA-logiske operatorene AND, OR, NOT er oppført i tabellen nedenfor:
S / N | Operatør | Beskrivelse | Eksempel | Produksjon |
1 | OG | OG: Dette brukes til å kombinere mer enn én tilstand. Hvis alle forholdene er sanne, OG vurderes til sanne. Hvis noen av tilstandene er falske, OG vurderes til falske | Hvis sant = sant OG usant = sant SÅ | falsk |
2 | ELLER | ELLER: Dette brukes til å kombinere mer enn én tilstand. Hvis noen av forholdene vurderes til sant, returnerer OR sant. Hvis alle er falske, returnerer ELLER falske | Hvis sant = sant ELLER sant = usant DA | ekte |
3 | IKKE | IKKE: Denne fungerer som en omvendt funksjon. Hvis tilstanden er sann, returnerer den falsk, og hvis en tilstand er falsk, returnerer den sann. | Hvis IKKE (sant) Da | falsk |
VBA Logical Operators Eksempel på kildekode
For enkelhets skyld vil vi sammenligne hardkodede tall.
Legg til ActiveX-knapper på arket fra "Sett inn alternativet."
Still inn egenskapene som vist på bildet nedenfor

Tabellen nedenfor viser egenskapene du trenger å endre, og verdiene du også må oppdatere.
S / N | Kontroll | Eiendom | Verdi |
1 | KommandoKnapp1 | Navn | btnAND |
Bildetekst | OG operatør (0 = 0) | ||
2 | CommandButton2 | Navn | btnOR |
Bildetekst | ELLER operatør (1 = 1) Eller (5 = 0) | ||
3 | KommandoKnapp3 | Navn | btNOT |
Bildetekst | IKKE operatør Ikke (0 =) |
Legg til følgende kode i btnAND_Klikk
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 If OG operatør
- "Hvis (1 = 1) Og (0 = 0) Så" bruker if-setningen den OG-logiske operatoren til å kombinere to forhold (1 = 1) Og (0 = 0). Hvis begge forholdene er oppfylt, blir koden over 'Annet' nøkkelord utført. Hvis begge forholdene ikke er oppfylt, kjøres koden under 'Annet' nøkkelord.
Legg til følgende kode i btnOR_Click
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 Hvis ELLER operatør
- "Hvis (1 = 1) Eller (5 = 0) Så" bruker if-setningen ELLER den logiske operatoren til å kombinere to forhold (1 = 1) Og (5 = 0). Hvis noen av betingelsene er oppfylt, kjøres koden over Else-nøkkelordet. Hvis begge forholdene er falske, kjøres koden nedenfor Else-søkeordet.
Legg til følgende kode i btnNOT_Click
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 Hvis IKKE operatør
- "Hvis ikke (0 = 0) Da" bruker VBA Hvis ikke-funksjonen den IKKE logiske operatoren til å negere resultatet av if-setningsbetingelsen. Hvis vilkårene er oppfylt, blir koden under 'Annet' nøkkelord utført. Hvis tilstanden er oppfylt, blir koden over Else-nøkkelordet utført.
Last ned Excel som inneholder koden ovenfor