VBA A funkcia Ako používať logický operátor AND vo VBA?

Funkcia Excel VBA AND

AND je logická funkcia aj logický operátor, čo znamená, že ak sú splnené všetky podmienky poskytované v tejto funkcii, iba my budeme mať skutočný výsledok, zatiaľ čo ak niektorá z podmienok zlyhá, výstup sa vráti ako nepravdivý, máme zabudovaný príkaz AND vo VBA na použitie.

Dúfam, že ste si prešli našim článkom o témach „VBA OR“ a „VBA IF OR“. Táto funkcia je pravým opakom funkcie OR. Vo funkcii OR sme potrebovali, aby ktokoľvek z dodaných logických podmienok bol spokojný, aby bol výsledok pravdivý. Ale vo funkcii AND je to presne naopak. Ak chcete získať výsledok TRUE, musia byť splnené všetky dodané logické testy v programe Excel.

Dobre, pozrite sa na syntax funkcie AND v programe Excel.

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

Vo vyššie uvedenom zozname mám dve skóre zo 600.

V stĺpci s výsledkami musím dostať výsledok ako TRUE, ak je skóre oboch testov väčšie ako rovné 250.

Pozrite sa na obrázok nižšie.

Keď aplikujeme logickú funkciu AND, dostali sme výsledky. V bunke C4 a C5 sme dostali výsledok ako TRUE, pretože skóre v testoch 1 a 2 je väčšie alebo rovné 250.

Pozrite sa na bunku C6, tu máme FALSE, aj keď skóre testu 2 sa rovná 250. Je to tak preto, lebo v teste 1 je skóre iba 179.

Príklady použitia VBA a funkcií

Túto šablónu VBA A Excel si môžete stiahnuť tu - Šablóna VBA A Excel

Príklad č

Tu napríklad otestujeme čísla, či už 25> = 20 a 30 <= 31.

Krok 1: Deklarujte premennú ako reťazec.

Kód:

 Sub AND_Example1 () Dim K ako reťazec End Sub 

Krok 2: Pre premennú „k“ priradíme hodnotu aplikáciou funkcie AND.

Kód:

 Sub AND_Example1 () Dim K ako reťazec K = End Sub 

Krok 3: Zadajte prvú podmienku ako 25> = 20.

Kód:

 Sub AND_Example1 () Dim K ako reťazec K = 25> = 20 End Sub 

Krok 4: Teraz otvorte funkciu AND a zadajte druhý logický test, tj 30 <= 29.

Kód:

 Sub AND_Example1 () Dim K ako reťazec K = 25> = 20 a 30 <= 29 koncový sub 

Krok 5: Teraz ukážte výsledok premennej „k“ v okne správy vo VBA.

Kód:

 Sub AND_Example1 () Dim K ako reťazec K = 25> = 20 a 30 <= 29 MsgBox K End Sub 

Spustením makra uvidíte, aký je výsledok.

Výsledok sme dostali ako FALSE, pretože sme z dvoch podmienok aplikovali prvú podmienku 25> = 20, táto podmienka je splnená, takže výsledok je TRUE a druhá podmienka 30 <= 29 to nie je splnená, výsledok je FALSE. Aby bol výsledok TRUE, mali by byť splnené obidve podmienky.

Príklad č

Teraz zmení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 

Spustením kódu zobrazíte výsledok.

Tu sme ako výsledok dostali TRUE, pretože

1. logický test: 100> 95 = PRAVDA

2. logický test: 100 <200 = PRAVDA

Pretože sme dostali TRUE výsledky pre oba logické testy, náš konečný výsledok bol TRUE.

Príklad č

Teraz uvidíme údaje z pracovného hárka. Použite údaje, ktoré sme použili na ukázanie príkladu funkcií programu Excel AND.

Podmienkou je skóre testu 1> = 250 AND skóre testu 2> = 250 .

Pretože máme viac ako jednu bunku dát, musíme použiť slučky, aby sme sa vyhli písaniu nepotrebných a časovo náročných riadkov kódov. Napísal som pre vás nasledujúci kód, vzorec a logické je to isté, len som použil „VBA pre ďalšiu slučku“.

Kód:

 Sub AND_Example3 () Dim k As Integer Pre k = 2 až 6 buniek (k, 3). Hodnota = bunky (k, 1)> = 250 A bunky (k, 2)> = 250 Ďalej k Koniec Sub 

Výsledok bude presne rovnaký ako funkcia nášho pracovného hárka, ale nedostaneme žiadne vzorce, dostaneme iba výsledky.

Takto môžeme použiť logickú funkciu AND na otestovanie viacerých podmienok, ktoré by všetky mali byť TRUE, aby sa dosiahli požadované výsledky.

Funguje to úplne opačne ako funkcia OR, kde operácia OR vyžaduje, aby ktorákoľvek z dodaných podmienok bola TRUE, aby sa dosiahli výsledky, ale AND vyžaduje 100% výsledok v logickom teste, aby sa dosiahli výsledky.