Operatori logici VBA - OR, AND, XOR, NOT, IS, & LIKE

VBA vă permite să utilizați operatorii logici Și, Sau, Nu, Xor pentru a compara valori. Operatorii sunt considerați „booleni”, ceea ce înseamnă că returnează True sau False ca rezultat.

Dacă doriți să aflați cum să comparați șirurile, faceți clic aici: VBA Compare Strings - StrComp

Dacă doriți să aflați cum să utilizați operatori de comparație, faceți clic aici: Operatori de comparație VBA - Nu este egal cu și mai mult

Folosind operatorul logic

The Și operatorul logic compară două sau mai multe condiții. Dacă toate condițiile sunt adevărate, operatorul va returna True. Dacă cel puțin una dintre condiții nu este adevărată, operatorul va returna False. Iată un exemplu:

123456789101112 Dim intA As IntegerDim intB Ca întregDim blnResultat ca booleanintA = 5intB = 5Dacă intA = 5 Și intB = 5 AtunciblnResult = AdevăratAltfelblnResult = FalseEnd If

În acest exemplu, vrem să verificăm dacă ambele intA și intB sunt egale cu 5. Dacă acest lucru este adevărat, valoarea lui Boolean blnResult va fi adevărat, altfel va fi fals.

Mai întâi, stabilim valori de intA și intB la 5:

12 intA = 5intB = 5

După aceea, folosim Și operator din instrucțiunea If pentru a verifica dacă valorile sunt egale cu 5:

12345 Dacă intA = 5 Și intB = 5 AtunciblnResult = AdevăratAltfelblnResult = FalseEnd If

Deoarece ambele variabile sunt egale cu 5, blnResult returnează True:

Imagine 1. Utilizarea operatorului Și logic în VBA

Folosind Operatorul Sau Logic

The Sau operatorul logic compară două sau mai multe condiții. Dacă cel puțin una dintre condiții este adevărată, va reveni la adevărat. Dacă niciuna dintre condiții nu este adevărată, operatorul va returna False. Iată codul pentru exemplu:

123456789101112 Dim intA As IntegerDim intB Ca întregDim blnResultat ca booleanintA = 5intB = 10Dacă intA = 5 Sau intB = 5 AtunciblnResult = AdevăratAltfelblnResult = FalseEnd If

În acest exemplu, vrem să verificăm dacă ambele intA este egal cu 5. sau intB este egal cu 10. Dacă oricare dintre aceste condiții este adevărată, valoarea lui Boolean blnResult va fi adevărat, altfel va fi fals.

În primul rând, stabilim valoarea lui intA la 5 și intB la 10:

12 intA = 5intB = 10

După aceea, folosim Sau operator din instrucțiunea If pentru a verifica dacă oricare dintre valori este egală cu 5:

12345 Dacă intA = 5 Sau intB = 5 AtunciblnResult = AdevăratAltfelblnResult = FalseEnd If

La fel de intA valoarea este 5, valoarea blnResult returnează True:

Imaginea 2. Utilizarea operatorului Sau logic în VBA

Utilizarea operatorului care nu este logic

The Nu operatorul logic verifică una sau mai multe condiții. Dacă condițiile sunt adevărate, operatorul returnează False. În caz contrar, returnează True. Iată codul pentru exemplu:

12345678910 Dim intA As IntegerDim blnResultat ca booleanintA = 5Dacă nu (intA = 6) AtunciblnResult = AdevăratAltfelblnResult = FalseEnd If

În acest exemplu, dorim să verificăm dacă valoarea lui intA nu este egal cu 6. Dacă intA este diferit de 6, valoarea lui Boolean blnResult va fi adevărat, altfel va fi fals.

În primul rând, stabilim valoarea lui intA la 5:

1 intA = 5

După aceea, folosim operatorul Not din instrucțiunea If pentru a verifica dacă valoarea intA este diferită de 6:

12345 Dacă nu (intA = 6) AtunciblnResult = AdevăratAltfelblnResult = FalseEnd If

La fel de intA valoarea este 5, valoarea blnResult returnează True:

Imaginea 3. Utilizarea operatorului Not logic în VBA

Utilizarea operatorului logic Xor

The Xor operatorul logic compară două sau mai multe condiții. Dacă exact una dintre condiții este adevărată, va reveni la adevărat. Dacă niciuna dintre condiții nu este adevărată, sau mai multe decât una sunt adevărate, se va întoarce False. Iată codul pentru exemplu:

123456789101112 Dim intA As IntegerDim intB Ca întregDim blnResultat ca booleanintA = 5intB = 10Dacă intA = 5 Xor intB = 5 AtunciblnResult = AdevăratAltfelblnResult = FalseEnd If

În acest exemplu, vrem să verificăm dacă exact una dintre valori (intA sau IntB) este egală cu 5. Dacă este adevărată o singură condiție, valoarea lui Boolean blnResult va fi adevărat, altfel va fi fals.

În primul rând, stabilim valoarea lui intA la 5 și intB la 10:

12 intA = 5intB = 10

După aceea, folosim Sau operator din instrucțiunea If pentru a verifica dacă oricare dintre valori este egală cu 5:

12345 Dacă intA = 5 Xor intB = 5 AtunciblnResult = AdevăratAltfelblnResult = FalseEnd If

La fel de intA valoarea este 5 și intB este 10, blnResult returnează True:

Imaginea 4. Utilizarea operatorului logic Xor în VBA

Este Operator

Operatorul Is testează dacă două variabile de obiect stochează același obiect.

Să vedem un exemplu. Aici vom atribui două foi de lucru obiectelor foii de lucru rng1 și rng2, testând dacă cele două obiecte ale foii de lucru stochează aceeași foaie de lucru:

12345678910111213 Sub CompareObjects ()Dim ws1 ca foaie de lucru, ws2 ca foaie de lucruSet ws1 = Foi ("Sheet1")Set ws2 = Foi ("Sheet2")Dacă ws1 este ws2 AtunciMsgBox „Same WS”AltfelMsgBox „WS-uri diferite”End IfSfârșitul Sub

Desigur, obiectele foii de lucru nu sunt aceleași, așa că „WS-uri diferite” este returnat.

Ca Operator

Operatorul Like poate compara două șiruri pentru potriviri inexacte. Acest exemplu va testa dacă un șir începe cu „Mr.”

1234567891011121314 Sub LikeDemo ()Dim strName As StringDim blnResultat ca booleanstrName = "Domnul Michael James"Dacă strName Ca „Mr. *” AtunciblnResult = AdevăratAltfelblnResult = FalseEnd IfSfârșitul Sub

Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii

wave wave wave wave wave