VBA Logical Operators: AND, OR, NOT, IF NOT v Excel VBA
Excel VBA Logical Operatorů
Řekněme, že chcete zpracovat objednávku zákazníka. Chcete-li to provést, musíte nejprve zkontrolovat, zda objednaný produkt existuje nebo ne. Pokud ano, měli byste také zkontrolovat, zda je množství po ruce dostatečné. V takových případech se hodí logické operátory. Logické operátory se používají k vyhodnocení více než jedné podmínky.
Hlavní logické operátory Excel VBA AND, OR, NOT jsou uvedeny v tabulce níže:
| S / N | OperaTor | Description | Příklad | Výstup |
|---|---|---|---|---|
| 1 | A AUTOMATIZACI | AND: Používá se ke spojení více než jedné podmínky. Pokud jsou všechny podmínky pravdivé, AND se vyhodnotí jako pravdivé. Pokud je některá z podmínek nepravdivá, AND se vyhodnotí jako nepravda | Jestliže true = true AND false = true THEN | nepravdivý |
| 2 | OR | NEBO: Používá se ke kombinaci více než jedné podmínky. Pokud se některá z podmínek vyhodnotí jako pravdivá, OR vrátí hodnotu true. Pokud jsou všechny nepravdivé, OR vrátí false | Pokud true = true NEBO true = false THEN | pravdivý |
| 3 | NENÍ | NE: Toto funguje jako inverzní funkce. Pokud je podmínka pravdivá, vrátí hodnotu false, a pokud je podmínka nepravdivá, vrátí hodnotu true. | Pokud NE (pravda) Pak | nepravdivý |
VBA Logical Operators Příklad zdrojového kódu
Pro jednoduchost budeme porovnávat pevně zakódovaná čísla.
Přidejte tlačítka ActiveX na list 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é je třeba změnit, a hodnoty, které je také třeba aktualizovat.
| S / N | ovládání | Vlastnictví | Hodnota |
|---|---|---|---|
| 1 | CommandButton 1 | Jméno | btnAND |
| Titulek | A AUTOMATIZACI Operator (0 = 0) | ||
| 2 | CommandButton 2 | Jméno | btnOR |
| Titulek | OR Operator (1 = 1) Nebo (5 = 0) | ||
| 3 | CommandButton 3 | Jméno | btnNE |
| Titulek | NENÍ Operator Not (0 = ) |
Přidejte následující kód do btnAND_Click
Private Sub btnAND_Click()
If (1 = 1) And (0 = 0) Then
MsgBox "AND evaluated to TRUE", vbOKOnly, "AND operator"
Else
MsgBox "AND evaluated to FALSE", vbOKOnly, "AND operator"
End If
End Sub
VBA Pokud AND OperaTor
- „Pokud (1 = 1) a (0 = 0), tak“ příkaz if používá logický operátor AND ke kombinaci dvou podmínek (1 = 1) A (0 = 0). Pokud jsou splněny obě podmínky, provede se kód nad klíčovým slovem „Else“. Pokud nejsou splněny obě podmínky, provede se kód pod klíčovým slovem 'Else'.
Přidejte následující kód do btnOR_Click
Private Sub btnOR_Click()
If (1 = 1) Or (5 = 0) Then
MsgBox "OR evaluated to TRUE", vbOKOnly, "OR operator"
Else
MsgBox "OR evaluated to FALSE", vbOKOnly, "OR operator"
End If
End Sub
VBA Pokud OR OperaTor
- „Pokud (1 = 1) Nebo (5 = 0), tak“ příkaz if používá logický operátor OR ke kombinaci dvou podmínek (1 = 1) A (5 = 0). Pokud je splněna některá z podmínek, 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 do btnNOT_Click
Private Sub btnNOT_Click()
If Not (0 = 0) Then
MsgBox "NOT evaluated to TRUE", vbOKOnly, "NOT operator"
Else
MsgBox "NOT evaluated to FALSE", vbOKOnly, "NOT operator"
End If
End Sub
VBA Pokud NE OperaTor
- „Pokud ne (0 = 0), tak“ funkce VBA If Not používá logický operátor NOT k negaci výsledku podmínky příkazu if. Pokud jsou podmínky splněny, spustí se kód pod klíčovým slovem 'Else'. Pokud je podmínka pravdivá, provede se kód nad klíčovým slovem Else.
