Logickí operátori VBA: AND, OR, NOT
Logické operátory Excel VBA
Povedzme, že chcete vybaviť objednávku zákazníka. Z tohto dôvodu chcete najskôr skontrolovať, či objednaný produkt existuje alebo nie. Ak sa tak stane, tiež by ste si mali skontrolovať, či je po ruke dostatočné množstvo. V takýchto prípadoch prídu vhod logické operátory. Na vyhodnotenie viac ako jednej podmienky sa používajú logické operátory.
Hlavné logické operátory Excel VBA AND, OR, NOT sú uvedené v nasledujúcej tabuľke:
S / N | Prevádzkovateľ | Popis | Príklad | Výkon |
1 | A | AND: Používa sa na kombinovanie viac ako jednej podmienky. Ak sú splnené všetky podmienky, AND sa vyhodnotí ako pravdivé. Ak je ktorákoľvek z podmienok nepravdivá, AND sa vyhodnotí ako nepravdivé | Ak true = true AND false = true POTOM | nepravdivé |
2 | ALEBO | ALEBO: Používa sa na kombinovanie viacerých podmienok. Ak niektorá z podmienok vyhodnotí ako true, OR vráti true. Ak sú všetky nepravdivé, funkcia OR vráti nepravdivé | Ak true = true OR true = false POTOM | pravda |
3 | NIE | NIE: Tento funguje ako inverzná funkcia. Ak je podmienka true, vráti hodnotu false a ak je podmienka false, vráti hodnotu true. | Ak NIE (pravda), potom | nepravdivé |
Príklad zdrojového kódu logických operátorov VBA
Kvôli jednoduchosti budeme porovnávať pevne zakódované čísla.
Pridajte do listu tlačidlá ActiveX z možnosti „Vložiť“.
Nastavte vlastnosti podľa obrázka nižšie

Nasledujúca tabuľka zobrazuje vlastnosti, ktoré musíte zmeniť, a hodnoty, ktoré musíte tiež aktualizovať.
S / N | Ovládanie | Nehnuteľnosť | Hodnota |
1 | CommandButton1 | názov | btnAND |
Titulok | Operátor AND (0 = 0) | ||
2 | CommandButton2 | názov | btnOR |
Titulok | ALEBO operátor (1 = 1) alebo (5 = 0) | ||
3 | CommandButton3 | názov | btnNOT |
Titulok | NIE operátor nie (0 =) |
Pridajte nasledujúci kód do 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 AND Operator
- „If (1 = 1) And (0 = 0) Then“ príkaz if používa logický operátor AND na spojenie dvoch podmienok (1 = 1) And (0 = 0). Ak sú splnené obe podmienky, vykoná sa kód nad kľúčovým slovom „Else“. Ak obidve podmienky nie sú pravdivé, vykoná sa kód pod kľúčovým slovom „Else“.
Pridajte nasledujúci kód na 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 ako operátor OR
- „If (1 = 1) Alebo (5 = 0) Then“ príkaz if používa logický operátor OR na spojenie dvoch podmienok (1 = 1) And (5 = 0). Ak je ktorákoľvek z podmienok splnená, vykoná sa kód nad kľúčovým slovom Else. Ak sú obidve podmienky nepravdivé, vykoná sa kód pod kľúčovým slovom Else.
Pridajte nasledujúci kód na 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, ak NIE je operátor
- „Ak nie (0 = 0) Then“, funkcia VBA If Not používa NOT logický operátor na vyvrátenie výsledku podmienky príkazu if. Ak sú podmienky pravdivé, vykoná sa kód pod kľúčovým slovom „Else“. Ak je podmienka pravdivá, vykoná sa kód nad kľúčovým slovom Else.
Stiahnite si Excel obsahujúci vyššie uvedený kód