Logické operátory VBA: AND, OR, NOT
Logické operátory Excel VBA
Řekněme, že chcete zpracovat objednávku zákazníka. Chcete-li nejprve zjistit, zda objednaný produkt existuje, či nikoli. Pokud ano, chcete také zkontrolovat, zda je k dispozici dostatečné množství. V takových případech se hodí logické operátory. Logické operátory se používají k vyhodnocení více než jedné podmínky.
V následující tabulce jsou uvedeny hlavní logické operátory Excel VBA AND, OR, NOT:
S / N | Operátor | Popis | Příklad | Výstup |
1 | A | AND: Používá se ke kombinování více než jedné podmínky. Pokud jsou splněny všechny podmínky, vyhodnotí se AND jako true. Pokud je některá z podmínek nepravdivá, vyhodnotí se AND jako nepravdivé | Pokud true = true AND false = true POTOM | Nepravdivé |
2 | NEBO | NEBO: Slouží ke kombinaci více než jedné podmínky. Pokud některá z podmínek vyhodnotí jako true, OR vrátí true. Pokud jsou všechny z nich nepravdivé, OR vrátí nepravdivé | Pokud true = true NEBO true = false POTOM | skutečný |
3 | NE | NE: Tenhle funguje jako inverzní funkce. Pokud je podmínka pravdivá, vrátí hodnotu false a pokud je podmínka false, vrátí hodnotu true. | Pokud NE (pravda), pak | Nepravdivé |
Příklad zdrojového kódu logických operátorů VBA
Kvůli zjednodušení budeme porovnávat pevně zakódovaná čísla.
Přidejte do listu tlačítka ActiveX z možnosti „Vložit“.
Nastavte vlastnosti, jak je znázorněno na obrázku níže
V následující tabulce jsou uvedeny vlastnosti, které musíte změnit, a hodnoty, které také musíte aktualizovat.
S / N | Řízení | Vlastnictví | Hodnota |
1 | CommandButton1 | název | btnAND |
Titulek | Operátor AND (0 = 0) | ||
2 | CommandButton2 | název | btnOR |
Titulek | NEBO operátor (1 = 1) nebo (5 = 0) | ||
3 | CommandButton3 | název | btn NENÍ |
Titulek | NOT Operator Not (0 =) |
Přidejte následující 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" příkaz if používá logický operátor AND ke kombinaci dvou podmínek (1 = 1) And (0 = 0). Pokud jsou splněny obě podmínky, provede se kód nad klíčovým slovem „Else“. Pokud obě podmínky nejsou pravdivé, provede se kód pod klíčovým slovem „Else“.
Přidejte následující 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 Pokud NEBO Provozovatel
- „If (1 = 1) Nebo (5 = 0) Then“ příkaz if používá logický operátor OR ke kombinaci dvou podmínek (1 = 1) And (5 = 0). Pokud je některá z podmínek pravdivá, provede se kód nad klíčovým slovem Else. Pokud jsou obě podmínky nepravdivé, provede se kód pod klíčovým slovem Else.
Přidejte následující 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, pokud NENÍ provozovatel
- "Pokud ne (0 = 0) Then" funkce VBA If Not používá operátor NOT logický k negaci výsledku podmínky příkazu if. Pokud jsou podmínky pravdivé, provede se kód pod klíčovým slovem „Else“. Pokud je podmínka pravdivá, provede se kód nad klíčovým slovem Else.
Stáhněte si Excel obsahující výše uvedený kód