VBA loogikaoperaatorid - VÕI, JA, XOR, MITTE, IS JA JME

VBA võimaldab kasutada loogilisi operaatoreid Ja, Või, Mitte, Xor väärtuste võrdlemiseks. Operaatoreid peetakse loogilisteks, mis tähendab, et nad tagastavad tõese või vale tulemuse.

Kui soovite õppida stringide võrdlemist, klõpsake siin: VBA Võrdle stringe - StrComp

Kui soovite õppida võrdlusoperaatorite kasutamist, klõpsake siin: VBA võrdlusoperaatorid - pole võrdne ja palju muud

And Loogilise operaatori kasutamine

The Ja loogiline operaator võrdleb kahte või enamat tingimust. Kui kõik tingimused on tõesed, tagastab operaator tõese. Kui vähemalt üks tingimustest ei vasta tõele, tagastab operaator väärtuse Väär. Siin on näide:

123456789101112 Dim intA täisarvunaDim intB Nagu täisarvDim blnTulemus BooleaninaintA = 5intB = 5Kui intA = 5 Ja intB = 5 SiisblnResult = TõsiMuidublnResult = ValeLõpp Kui

Selles näites tahame kontrollida, kas mõlemad intA ja intB on võrdsed 5. Kui see on tõsi, siis Boole'i ​​väärtus blnTulemus on tõsi, vastasel juhul on see vale.

Esiteks määrame väärtused intA ja intB kuni 5:

12 intA = 5intB = 5

Pärast seda kasutame Ja operaator If -lauses, et kontrollida, kas väärtused on võrdsed 5 -ga:

12345 Kui intA = 5 Ja intB = 5 SiisblnResult = TõsiMuidublnResult = ValeLõpp Kui

Kuna mõlemad muutujad on 5, siis blnTulemus tagastab tõene:

Pilt 1. Loogilise operaatori kasutamine VBA -s

Või loogilise operaatori kasutamine

The Või loogiline operaator võrdleb kahte või enamat tingimust. Kui vähemalt üks tingimustest on tõene, tagastab see tõese. Kui ükski tingimus pole tõene, tagastab operaator väärtuse Väär. Siin on näite kood:

123456789101112 Dim intA täisarvunaDim intB Nagu täisarvDim blnTulemus BooleaninaintA = 5intB = 10Kui intA = 5 Või intB = 5 SiisblnResult = TõsiMuidublnResult = ValeLõpp Kui

Selles näites tahame kontrollida, kas mõlemad intA on võrdne 5. või intB on võrdne 10. Kui mõni neist tingimustest on tõene, on Boole'i ​​väärtus blnTulemus on tõsi, vastasel juhul on see vale.

Esiteks määrame väärtuse intA kuni 5 ja intB kuni 10:

12 intA = 5intB = 10

Pärast seda kasutame Või operaator If -lauses, et kontrollida, kas mõni väärtustest on 5:

12345 Kui intA = 5 Või intB = 5 SiisblnResult = TõsiMuidublnResult = ValeLõpp Kui

Nagu intA väärtus on 5, blnTulemus tagastab tõene:

Pilt 2. Loogilise operaatori kasutamine VBA -s

Mitte loogilise operaatori kasutamine

The Mitte loogiline operaator kontrollib ühte või mitut tingimust. Kui tingimused on tõesed, tagastab operaator väärtuse Väär. Vastasel korral tagastab see tõe. Siin on näite kood:

12345678910 Dim intA täisarvunaDim blnTulemus BooleaninaintA = 5Kui ei (intA = 6) SiisblnResult = TõsiMuidublnResult = ValeLõpp Kui

Selles näites tahame kontrollida, kas väärtus intA ei ole võrdne 6. Kui intA on erinev kui 6, Boole'i ​​väärtus blnTulemus on tõsi, vastasel juhul on see vale.

Esiteks määrame väärtuse intA kuni 5:

1 intA = 5

Pärast seda kasutame If -lauses Not -operaatorit, et kontrollida, kas intA väärtus erineb 6 -st:

12345 Kui ei (intA = 6) SiisblnResult = TõsiMuidublnResult = ValeLõpp Kui

Nagu intA väärtus on 5, blnTulemus tagastab tõene:

Pilt 3. Mitte loogilise operaatori kasutamine VBA -s

Loogilise operaatori Xor kasutamine

The Xor loogiline operaator võrdleb kahte või enamat tingimust. Kui täpselt üks tingimustest on tõene, tagastab see tõe. Kui ükski tingimus pole tõene või rohkem kui üks on tõene, tagastab see väärtuse Väär. Siin on näite kood:

123456789101112 Dim intA täisarvunaDim intB Nagu täisarvDim blnTulemus BooleaninaintA = 5intB = 10Kui intA = 5 X või intB = 5 SiisblnResult = TõsiMuidublnResult = ValeLõpp Kui

Selles näites tahame kontrollida, kas täpselt üks väärtustest (intA või IntB) on võrdne 5. Kui tõene on ainult üks tingimus, siis on Boole'i ​​väärtus blnTulemus on tõsi, vastasel juhul on see vale.

Esiteks määrame väärtuse intA kuni 5 ja intB kuni 10:

12 intA = 5intB = 10

Pärast seda kasutame Või operaator If -lauses, et kontrollida, kas mõni väärtustest on 5:

12345 Kui intA = 5 X või intB = 5 SiisblnResult = TõsiMuidublnResult = ValeLõpp Kui

Nagu intA väärtus on 5 ja intB on 10, blnTulemus tagastab tõene:

Pilt 4. Loogilise operaatori Xor kasutamine VBA -s

On operaator

Kas operaator testib, kas kaks objektimuutuja salvestab sama objekti.

Vaatame näidet. Siin määrame töölehe objektidele rng1 ja rng2 kaks töölehte, katsetades, kas need kaks töölehe objekti salvestavad sama töölehe:

12345678910111213 Sub CompareObjects ()Dim ws1 töölehena, ws2 töölehenaSet ws1 = Sheets ("Sheet1")Set ws2 = Sheets ("Sheet2")Kui ws1 on ws2 siisMsgBox "Sama WS"MuiduMsgBox "Erinevad WS -id"Lõpp KuiEnd Sub

Muidugi pole töölehe objektid samad, seega tagastatakse „Erinevad WS -id”.

Nagu operaator

Like operaator saab võrrelda kahte stringi ebatäpsete vaste jaoks. Selle näite abil testitakse, kas string algab tähega „Mr.”

1234567891011121314 Sub LikeDemo ()Dim strName nagu stringDim blnTulemus BooleaninastrName = "Härra Michael James"Kui strName Nagu "Mr*" SiisblnResult = TõsiMuidublnResult = ValeLõpp KuiEnd Sub

Te aitate arengu ala, jagades leht oma sõpradega

wave wave wave wave wave