VBA Logical Operators: AND, OR, NOT
Excel VBA logiska operatörer
Låt oss säga att du vill behandla en kundorder. För det vill du först kontrollera om den beställda produkten existerar eller inte. Om det gör det, vill du också kontrollera om kvantiteten till hands är tillräcklig. Logiska operatörer är till nytta i sådana fall. Logiska operatörer används för att utvärdera mer än ett tillstånd.
De viktigaste Excel VBA-logiska operatörerna AND, OR, NOT listas i tabellen nedan:
S / N | Operatör | Beskrivning | Exempel | Produktion |
1 | OCH | OCH: Detta används för att kombinera mer än ett tillstånd. Om alla villkor är sanna, OCH utvärderas till sanna. Om något av tillståndet är falskt, OCH utvärderas till falskt | Om sant = sant OCH falskt = sant DAN | falsk |
2 | ELLER | ELLER: Detta används för att kombinera mer än ett tillstånd. Om något av villkoren utvärderas till sant returnerar OR sant. Om alla är falska returnerar ELLER falska | Om sant = sant ELLER sant = falsk DAN | Sann |
3 | INTE | INTE: Den här fungerar som en invers funktion. Om villkoret är sant returnerar det falskt och om ett villkor är falskt returnerar det sant. | Om INTE (sant) Då | falsk |
VBA Logical Operators Exempel på källkod
För enkelhets skull kommer vi att jämföra hårdkodade nummer.
Lägg till ActiveX-knappar på arket från "Infoga alternativ."
Ställ in egenskaperna som visas i bilden nedan

Följande tabell visar egenskaperna som du behöver ändra och de värden du också behöver uppdatera.
S / N | Kontrollera | Fast egendom | Värde |
1 | CommandButton1 | namn | btnAND |
Rubrik | OCH operatör (0 = 0) | ||
2 | CommandButton2 | namn | btnOR |
Rubrik | ELLER operatör (1 = 1) eller (5 = 0) | ||
3 | CommandButton3 | namn | btn INTE |
Rubrik | INTE operatör Inte (0 =) |
Lägg till följande kod i 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 If OCH operatör
- "If (1 = 1) And (0 = 0) Then" if-uttalandet använder AND-logiska operator för att kombinera två villkor (1 = 1) And (0 = 0). Om båda villkoren är uppfyllda körs koden ovanför 'Annat' nyckelord. Om båda villkoren inte är sanna körs koden nedanför "Annat" nyckelord.
Lägg till följande kod till 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 if ELLER operatör
- "If (1 = 1) Eller (5 = 0) Då" använder if-satsen den OR-logiska operatoren för att kombinera två villkor (1 = 1) och (5 = 0). Om något av villkoren är sant körs koden ovanför Annat nyckelord. Om båda villkoren är falska körs koden nedan Else-nyckelordet.
Lägg till följande kod till 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 om INTE operatör
- "Om inte (0 = 0) Då" använder VBA If Not-funktionen den INTE logiska operatören för att negera resultatet av if-uttalandebetingelsen. Om villkoren är uppfyllda körs koden under 'Annat' nyckelord. Om villkoret är sant körs koden ovanför Annat nyckelord.
Ladda ner Excel som innehåller ovanstående kod