VBA A funkce | Jak používat AND Logical Operator ve VBA?

Funkce Excel VBA AND

AND je logická funkce i logický operátor, což znamená, že pokud jsou splněny všechny podmínky poskytované v této funkci, pak budeme mít skutečný výsledek pouze my, zatímco pokud některá z podmínek selže, je výstup vrácen jako nepravdivý, máme vestavěný příkaz AND ve VBA k použití.

Doufám, že jste prošli naším článkem o „VBA OR“ a „VBA IF OR“. Tato funkce je pravým opakem funkce OR. Ve funkci OR jsme potřebovali kohokoli z dodaných logických podmínek, abychom byli spokojeni, abychom dostali výsledek jako PRAVDA. Ale ve funkci AND je to právě naopak. Chcete-li získat výsledek PRAVDA, musí být splněny všechny dodané logické testy v aplikaci Excel.

Dobře, podívej se na syntaxi funkce AND v aplikaci Excel.

[Logický test] AND [Logický test] AND [Logický test]

Ve výše uvedeném mám dvě testovací skóre ze 600.

Ve sloupci výsledků musím získat výsledek jako TRUE, pokud je skóre obou testů větší než rovno 250.

Podívejte se na obrázek níže.

Když použijeme logickou funkci AND, dostaneme výsledky. V buňce C4 a C5 jsme dostali výsledek jako PRAVDA, protože skóre Test 1 a Test 2 jsou větší nebo rovna 250.

Podívejte se zde na buňku C6, máme FALSE, i když se skóre Testu 2 rovná 250. Je to proto, že v Testu 1 je skóre pouze 179.

Příklady použití VBA a funkcí

Tuto šablonu VBA A Excel si můžete stáhnout zde - Šablona VBA A Excel

Příklad č. 1

Například zde otestujeme čísla, ať už 25> = 20 a 30 <= 31.

Krok 1: Deklarujte proměnnou jako řetězec.

Kód:

 Sub AND_Example1 () Dim K jako řetězec End Sub 

Krok 2: Proměnné „k“ přiřadíme hodnotu pomocí funkce AND.

Kód:

 Sub AND_Example1 () Dim K As String K = End Sub 

Krok 3: Zadejte první podmínku jako 25> = 20.

Kód:

 Sub AND_Example1 () Dim K jako řetězec K = 25> = 20 End Sub 

Krok 4: Nyní otevřete funkci AND a zadejte druhý logický test, tj. 30 <= 29.

Kód:

 Sub AND_Example1 () Dim K As String K = 25> = 20 And 30 <= 29 End Sub 

Krok 5: Nyní ukažte výsledek proměnné „k“ ve schránce zpráv ve VBA.

Kód:

 Sub AND_Example1 () Dim K As String K = 25> = 20 And 30 <= 29 MsgBox K End Sub 

Spusťte makro a podívejte se, jaký je výsledek.

Výsledek jsme dostali jako FALSE, protože jsme z aplikovaných dvou podmínek první podmínku 25> = 20, tato podmínka je splněna, takže výsledek je TRUE a druhá podmínka 30 <= 29 to není splněna, výsledek je FALSE. Aby byl výsledek TRUE, měly by být splněny obě podmínky.

Příklad č. 2

Nyní změním logický test na „100> 95 A 100 <200“

Kód:

 Sub AND_Example2 () Dim k As String k = 100> 95 A 100 <200 MsgBox k End Sub 

Spuštěním kódu zobrazíte výsledek.

Tady jsme dostali jako výsledek PRAVDU, protože

1. logický test: 100> 95 = PRAVDA

2. logický test: 100 <200 = PRAVDA

Protože jsme dostali PRAVÉ výsledky pro oba logické testy, náš konečný výsledek byl PRAVDA.

Příklad č. 3

Nyní uvidíme data z listu. Použijte data, která jsme použili k ukázce příkladu funkce excel AND.

Tady je podmínka skóre testu 1> = 250 a skóre testu 2> = 250 .

Protože máme více než jednu buňku dat, musíme použít smyčky, abychom se vyhnuli psaní zbytečných a časově náročných řádků kódů. Napsal jsem níže uvedený kód pro vás, vzorec a logické je to samé, jediná věc je, že jsem použil „VBA For Next Loop“.

Kód:

 Sub AND_Example3 () Dim k As Integer Pro k = 2 až 6 buněk (k, 3). Hodnota = buňky (k, 1)> = 250 a buňky (k, 2)> = 250 Další k End Sub 

Výsledek bude přesně stejný jako funkce našeho listu, ale nedostaneme žádné vzorce, dostaneme pouze výsledky.

Takto můžeme použít logickou funkci AND k otestování více podmínek, které by všechny měly být TRUE, aby se dosáhlo požadovaných výsledků.

To funguje úplně opačně než funkce OR, kde OR vyžaduje, aby některá z dodaných podmínek byla TRUE, aby se dosáhlo výsledků, ale AND vyžaduje 100% výsledek v logickém testu, aby se dosáhlo výsledků.


$config[zx-auto] not found$config[zx-overlay] not found