VBA: n avulla voit käyttää loogisia operaattoreita Ja, Tai, Ei, Xor vertailla arvoja. Operaattoreita pidetään "Booleanina", mikä tarkoittaa, että he palauttavat True tai False.
Jos haluat oppia vertaamaan merkkijonoja, napsauta tätä: VBA Vertaa kieliä - StrComp
Jos haluat oppia käyttämään vertailuoperaattoreita, napsauta tätä: VBA -vertailuoperaattorit - ei yhtä ja muuta
Ja loogisen operaattorin käyttäminen
The Ja looginen operaattori vertaa kahta tai useampaa ehtoa. Jos kaikki ehdot täyttyvät, operaattori palauttaa arvon True. Jos ainakin yksi ehdoista ei ole totta, operaattori palauttaa arvon False. Tässä on esimerkki:
123456789101112 | Dim intA kokonaislukunaDim intB kokonaislukunaDim blnTulos Boolen muodossaintA = 5intB = 5Jos intA = 5 Ja intB = 5 SittenblnResult = TottaMuublnResult = VääräLoppu Jos |
Tässä esimerkissä haluamme tarkistaa, ovatko molemmat intA ja intB ovat yhtä kuin 5. Jos tämä on totta, Boolen arvo blnTulos tulee olemaan totta, muuten se on epätosi.
Ensin asetamme arvot intA ja intB 5:
12 | intA = 5intB = 5 |
Sen jälkeen käytämme Ja operaattori If -lauseessa tarkistaakseen, ovatko arvot 5:
12345 | Jos intA = 5 Ja intB = 5 SittenblnResult = TottaMuublnResult = VääräLoppu Jos |
Koska molemmat muuttujat ovat yhtä suuret kuin 5, blnTulos palauttaa True:
Kuva 1. Ja loogisen operaattorin käyttäminen VBA: ssa
TAI loogisen operaattorin käyttäminen
The Tai looginen operaattori vertaa kahta tai useampaa ehtoa. Jos ainakin yksi ehdoista on tosi, se palauttaa arvon True. Jos mikään ehdoista ei ole totta, operaattori palauttaa arvon False. Tässä on esimerkin koodi:
123456789101112 | Dim intA kokonaislukunaDim intB kokonaislukunaDim blnTulos Boolen muodossaintA = 5intB = 10Jos intA = 5 tai intB = 5 SittenblnResult = TottaMuublnResult = VääräLoppu Jos |
Tässä esimerkissä haluamme tarkistaa, ovatko molemmat intA on yhtä kuin 5. tai intB on yhtä kuin 10. Jos jokin näistä ehdoista on totta, Boolen arvo blnTulos tulee olemaan totta, muuten se on epätosi.
Ensinnäkin asetamme arvon intA 5 ja intB 10:
12 | intA = 5intB = 10 |
Sen jälkeen käytämme Tai operaattori If -lauseessa tarkistaakseen, onko jokin arvo 5:
12345 | Jos intA = 5 tai intB = 5 SittenblnResult = TottaMuublnResult = VääräLoppu Jos |
Kuten intA arvo on 5, blnTulos palauttaa True:
Kuva 2. Or loogisen operaattorin käyttäminen VBA: ssa
Ei -loogisen operaattorin käyttäminen
The Ei looginen operaattori tarkistaa yhden tai useamman ehdon. Jos ehdot täyttyvät, operaattori palauttaa arvon False. Muussa tapauksessa se palauttaa arvon True. Tässä on esimerkin koodi:
12345678910 | Dim intA kokonaislukunaDim blnTulos Boolen muodossaintA = 5Jos ei (intA = 6) SittenblnResult = TottaMuublnResult = VääräLoppu Jos |
Tässä esimerkissä haluamme tarkistaa, onko intA ei ole yhtä kuin 6. Jos intA on eri kuin 6, Boolen arvo blnTulos tulee olemaan totta, muuten se on epätosi.
Ensinnäkin asetamme arvon intA 5:
1 | intA = 5 |
Tämän jälkeen käytämme If -lausekkeen Not -operaattoria tarkistaaksemme, onko intA: n arvo eri kuin 6:
12345 | Jos ei (intA = 6) SittenblnResult = TottaMuublnResult = VääräLoppu Jos |
Kuten intA arvo on 5, blnTulos palauttaa True:
Kuva 3. Ei -loogisen operaattorin käyttäminen VBA: ssa
Xor Logical Operatorin käyttäminen
The Xor looginen operaattori vertaa kahta tai useampaa ehtoa. Jos yksi ehdoista on totta, se palauttaa arvon True. Jos mikään ehdoista ei ole totta tai useampi kuin yksi on totta, se palauttaa arvon False. Tässä on esimerkin koodi:
123456789101112 | Dim intA kokonaislukunaDim intB kokonaislukunaDim blnTulos Boolen muodossaintA = 5intB = 10Jos intA = 5 X tai intB = 5 SittenblnResult = TottaMuublnResult = VääräLoppu Jos |
Tässä esimerkissä haluamme tarkistaa, onko yksi arvoista (intA tai IntB) yhtä suuri kuin 5. Jos vain yksi ehto on tosi, Boolen arvo blnTulos tulee olemaan totta, muuten se on epätosi.
Ensinnäkin asetamme arvon intA 5 ja intB 10:
12 | intA = 5intB = 10 |
Sen jälkeen käytämme Tai operaattori If -lauseessa tarkistaakseen, onko jokin arvo 5:
12345 | Jos intA = 5 X tai intB = 5 SittenblnResult = TottaMuublnResult = VääräLoppu Jos |
Kuten intA arvo on 5 ja intB on 10, blnTulos palauttaa True:
Kuva 4. Loogisen Xor -operaattorin käyttäminen VBA: ssa
On operaattori
Is -operaattori testaa, tallentaako kaksi objektimuuttujaa samaa objektia.
Katsotaanpa esimerkkiä. Tässä osoitamme kaksi laskentataulukkoa laskentataulukko -objekteille rng1 ja rng2 ja testaamme, tallentuvatko kaksi laskentataulukko -objektia samaan laskentataulukkoon:
12345678910111213 | Ala VertaaObjekteja ()Dim ws1 laskentataulukkona, ws2 laskentataulukkonaAseta ws1 = Sheets ("Sheet1")Aseta ws2 = Sheets ("Sheet2")Jos ws1 on ws2 SittenMsgBox "Sama WS"MuuMsgBox "Erilaiset WS: t"Loppu JosEnd Sub |
Laskentataulukko -objektit eivät tietenkään ole samat, joten "Erilaiset WS: t" palautetaan.
Kuten operaattori
Tykkääjäoperaattori voi vertailla kahta merkkijonoa epätarkkoja osumia varten. Tässä esimerkissä testataan, alkaako merkkijono "Mr."
1234567891011121314 | Sub LikeDemo ()Dim strName Kuten merkkijonoDim blnTulos Boolen muodossastrName = "Herra Michael James"Jos strName Kuten "Mr*" niinblnResult = TottaMuublnResult = VääräLoppu JosEnd Sub |