VBA logikai operátorok - VAGY, ÉS, XOR, NEM, IS, LIKE

A VBA lehetővé teszi a logikai operátorok használatát És, Vagy, Nem, Xor összehasonlítani az értékeket. Az operátorok „Boolean” -nak minősülnek, ami azt jelenti, hogy igaz vagy hamis eredményt adnak vissza.

Ha meg szeretné tanulni a karakterláncok összehasonlítását, kattintson ide: VBA Húrok összehasonlítása - StrComp

Ha meg szeretné tanulni az összehasonlító operátorok használatát, kattintson ide: VBA összehasonlító operátorok - nem egyenlő és több

Az And Logical Operator használata

Az És logikai operátor két vagy több feltételt hasonlít össze. Ha minden feltétel teljesül, az operátor True értéket ad vissza. Ha legalább az egyik feltétel nem igaz, az operátor hamis értéket ad vissza. Íme egy példa:

123456789101112 Dim intA Mint egészDim intB Mint egészDim blnEredmény BooleankéntintA = 5intB = 5Ha intA = 5 És intB = 5 AkkorblnResult = IgazMásblnResult = HamisVége Ha

Ebben a példában azt szeretnénk ellenőrizni, hogy mindkettő intA és intB egyenlők 5. Ha ez igaz, akkor a Boolean értéke blnEredmény igaz lesz, különben hamis lesz.

Először a következő értékeket állítjuk be intA és intB 5 -ig:

12 intA = 5intB = 5

Ezt követően a És operátor az If utasításban annak ellenőrzésére, hogy az értékek egyenlők -e 5 -tel:

12345 Ha intA = 5 És intB = 5 AkkorblnResult = IgazMásblnResult = HamisVége Ha

Mivel mindkét változó egyenlő 5 -tel, a blnEredmény igaz:

1. kép: Az And logikai operátor használata a VBA -ban

A Vagy logikai operátor használata

Az Vagy logikai operátor két vagy több feltételt hasonlít össze. Ha legalább az egyik feltétel igaz, akkor a True értéket adja vissza. Ha egyik feltétel sem igaz, az operátor hamis értéket ad vissza. Itt a példa kódja:

123456789101112 Dim intA Mint egészDim intB Mint egészDim blnEredmény BooleankéntintA = 5intB = 10Ha intA = 5 Vagy intB = 5 AkkorblnResult = IgazMásblnResult = HamisVége Ha

Ebben a példában azt szeretnénk ellenőrizni, hogy mindkettő intA egyenlő 5. vagy intB egyenlő 10. Ha ezen feltételek bármelyike ​​igaz, akkor a Boolean értéke blnEredmény igaz lesz, különben hamis lesz.

Először állítsuk be az értékét intA 5 -ig és intB 10 -ig:

12 intA = 5intB = 10

Ezt követően a Vagy operátor az If utasításban annak ellenőrzésére, hogy bármelyik érték egyenlő -e 5 -tel:

12345 Ha intA = 5 Vagy intB = 5 AkkorblnResult = IgazMásblnResult = HamisVége Ha

Mint intA értéke 5, a blnEredmény igaz:

2. kép: A V logikai operátor használata

A nem logikus operátor használata

Az Nem a logikai operátor egy vagy több feltételt ellenőriz. Ha a feltételek igazak, az operátor hamis értéket ad vissza. Ellenkező esetben a True értéket adja vissza. Itt a példa kódja:

12345678910 Dim intA Mint egészDim blnEredmény BooleankéntintA = 5Ha nem (intA = 6) AkkorblnResult = IgazMásblnResult = HamisVége Ha

Ebben a példában azt szeretnénk ellenőrizni, hogy a intA nem egyenlő 6. Ha intA eltér a 6 -tól, a Boolean értéke blnEredmény igaz lesz, különben hamis lesz.

Először állítsuk be az értékét intA 5 -ig:

1 intA = 5

Ezt követően az If utasítás Not értékét használjuk annak ellenőrzésére, hogy az intA értéke eltér -e a 6 -tól:

12345 Ha nem (intA = 6) AkkorblnResult = IgazMásblnResult = HamisVége Ha

Mint intA értéke 5, a blnEredmény igaz:

3. kép: Nem logikus operátor használata a VBA -ban

A Xor logikai operátor használata

Az Xor logikai operátor két vagy több feltételt hasonlít össze. Ha az egyik feltétel pontosan igaz, akkor a True értéket adja vissza. Ha egyik feltétel sem igaz, vagy több is igaz, akkor hamis lesz. Itt a példa kódja:

123456789101112 Dim intA Mint egészDim intB Mint egészDim blnEredmény BooleankéntintA = 5intB = 10Ha intA = 5 Xor intB = 5 AkkorblnResult = IgazMásblnResult = HamisVége Ha

Ebben a példában azt szeretnénk ellenőrizni, hogy az egyik érték (intA vagy IntB) pontosan egyenlő -e 5 -vel. Ha csak egy feltétel igaz, akkor a Boolean értéke blnEredmény igaz lesz, különben hamis lesz.

Először állítsuk be az értékét intA 5 -ig és intB 10 -ig:

12 intA = 5intB = 10

Ezt követően a Vagy operátor az If utasításban annak ellenőrzésére, hogy bármelyik érték egyenlő -e 5 -tel:

12345 Ha intA = 5 Xor intB = 5 AkkorblnResult = IgazMásblnResult = HamisVége Ha

Mint intA értéke 5 és intB 10, az blnEredmény igaz:

4. kép: A Xor logikai operátor használata VBA -ban

Üzemeltető

Az Is operátor teszteli, hogy két objektumváltozó tárolja -e ugyanazt az objektumot.

Nézzünk egy példát. Itt két munkalapot rendelünk az rng1 és rng2 munkalap -objektumokhoz, tesztelve, hogy a két munkalap -objektum ugyanazt a munkalapot tárolja -e:

12345678910111213 Sub CompareObjects ()Dim ws1 munkalapként, ws2 munkalapkéntSet ws1 = Sheets ("Sheet1")Set ws2 = Táblázatok ("Lap2")Ha ws1 Is ws2 AkkorMsgBox "Ugyanaz a WS"MásMsgBox "Különböző WS -ek"Vége HaEnd Sub

Természetesen a munkalap objektumai nem azonosak, ezért a „Különböző WS -ek” kerülnek visszaadásra.

Mint az Operátor

A Like operátor két karakterláncot hasonlíthat össze a nem megfelelő egyezésekhez. Ez a példa azt teszteli, hogy egy karakterlánc „Mr.” betűvel kezdődik -e

1234567891011121314 Sub LikeDemo ()Dim strName Mint karakterláncDim blnEredmény BooleankéntstrName = "Mr. Michael James"Ha strName Mint "Mr*" AkkorblnResult = IgazMásblnResult = HamisVége HaEnd Sub

Segít a fejlesztés a helyszínen, megosztva az oldalt a barátaiddal

wave wave wave wave wave