VBA Boolen tietotyyppi (Dim Variable)

Boolen muuttujan tyyppi

VBA Boolean -tyyppiä käytetään True- tai False -arvojen tallentamiseen. Tosi voidaan esittää myös 1: llä ja epätosi 0: lla.

Boolen muuttujan ilmoittamiseen käytetään Dim Statementia (lyhenne Dimension):

1 Dim blnA Booleanina

Sitten, jos haluat määrittää arvon muuttujalle, käytä vain yhtäsuuruusmerkkiä:

1 blnA = Totta

Kun laitat tämän menettelyyn, se voi näyttää tältä:

123456789101112 Sub blnExample ()'julista boolen muuttujaDim blnA Booleanina'Suorita koodi muuttujan täyttämiseksi - yleensä koodi on if- tai case -lauseJos alue ("A1")> 0 sittenblnA = tottaMuublnA = vääräLoppu Jos'näytä viestiruutuMsgBox "Testaa, onko solun arvo suurempi kuin 0" & blnAEnd Sub

Jos suoritat yllä olevan koodin, seuraava viestiruutu tulee näkyviin.

Ilmoita Boolen muuttuja moduulissa tai globaalilla tasolla

Edellisessä esimerkissä olemme ilmoittaneet Boolen muuttuja menettelyn sisällä. Proseduurilla ilmoitettuja muuttujia voidaan käyttää vain kyseisen menettelyn sisällä.

Sen sijaan voit ilmoittaa Boolen muuttujat moduuli- tai globaalitasolla.

Moduulitaso

Ilmoitat Moduulitaso muuttujia koodimoduulien yläosassa Himmeä lausunto.

Näitä muuttujia voidaan käyttää minkä tahansa koodimoduulin toimenpiteen kanssa.

Globaali taso

Ilmoitat myös Globaali taso muuttujia koodimoduulien yläosassa. Sen sijaan, että käytät Himmeä käyttäisit lauseketta Julkinen lausunto osoittaa, että Boolen muuttuja on käytettävissä käytettäväksi koko VBA -projektisi aikana.

1 Julkinen blnA Booleanina

Jos julistaisit Boolen muuttuja moduulitasolla ja yritä sitten käyttää sitä eri moduulissa, saat virheilmoituksen.

Jos olisit kuitenkin käyttänyt julkista avainsanaa ilmoittaaksesi Boolen muuttuja, virhe ei ilmenisi ja menettely toimisi täydellisesti.

Boolen muuttujan käyttäminen

Käytät Boolen muuttujaa loogisessa vertailussa. Näitä käytetään usein If -lauseiden kanssa testatakseen, onko ehto tosi tai epätosi yllä olevan esimerkin mukaisesti, tai koodirivillä loogisen testin suorittamiseksi - ehkä nähdäkseen, onko yksi arvo suurempi kuin toinen.

12345678 Sub blnExample ()'julista boolen muuttujaDim blnA Boolen muodossa'Testaa, onko yksi numero suurempi kuin seuraava numeroblnA = 45> 68'näytä viestiruutuMsgBox blnAEnd Sub

Jos suoritat yllä olevan koodin, saat seuraavan viestiruudun.

koska tietysti 45 ei ole suurempi kuin 68!

Boolen operaattoreiden käyttäminen

Koska Boolen muuttujia käytetään loogisessa vertailussa, voimme käyttää loogisia operaattoreita AND ja OR testataksemme, onko useampi kuin yksi ehto totta vai epätosi.

AND -operaattorin käyttäminen

Voimme käyttää AND -funktiota nähdäksemme, täyttyvätkö molemmat ehdot.

12345678 Sub blnExample ()'julista boolen muuttujaDim blnA Boolen muodossa'Käytä AND -operaattoria testataksesi, täyttyvätkö molemmat ehdotblnA = 10> 13 Ja 15> 12'näytä viestiruutuMsgBox blnAEnd Sub

tai voisimme suorittaa saman testin If -lauseella:

123456789101112 Sub blnExample ()'julista boolen muuttujaDim blnA Boolen muodossa'Käytä AND -operaattoria testataksesi, täyttyvätkö molemmat ehdotJos 10> 13 Ja 15> 12 SittenblnA = TottaMuublnA = vääräLoppu Jos'näytä viestiruutuMsgBox blnAEnd Sub

Molemmat yllä olevat esimerkit palaavat VÄÄRÄ johtuu siitä, että 10 on EI yli 13 - ja Molemmat ehtojen on oltava totta, jotta totuusarvo olisi totta.

TAI -operaattorin käyttäminen

Voimme käyttää TAI -funktiota nähdäksemme, täyttyykö jokin ehdoista.

12345678 Sub blnExample ()'julista boolen muuttujaDim blnA Boolen muodossa'Käytä AND -operaattoria testataksesi, täyttyvätkö molemmat ehdotblnA = 10> 13 Tai 15> 12'näytä viestiruutuMsgBox blnAEnd Sub

tai voisimme suorittaa saman testin If -lauseella:

123456789101112 Sub blnExample ()'julista boolen muuttujaDim blnA Boolen muodossa'Käytä AND -operaattoria testataksesi, täyttyvätkö molemmat ehdotJos 10> 13 TAI 15> 12 SittenblnA = TottaMuublnA = vääräLoppu Jos'näytä viestiruutuMsgBox blnAEnd Sub

Nämä esimerkit palaisivat TOTTA johtuu siitä, että 10 EI ole suurempi kuin 13 MUTTA 15 on suurempi kuin 12 - jaVAIN YKSI ehdon on oltava tosi, jotta totuusarvo olisi totta.

If -lauseiden avulla voimme käyttää loogisempia operaattoreita

NOT -operaattorin käyttäminen

Voimme myös käyttää NOT -operaattoria Boolen muuttujan kanssa. EI -operaattori kumoaa ehdon arvon - joten jos ehto on tosi, EI -operaattori palauttaa epätosi.

12345678910111213141516 Sub FindDifferences ()'ilmoittaa alueen muuttujatDim rng1 As RangeDim rng2 As Range'aktivoi arkki yksiLaskentataulukot ("Sheet1"). Aktivoi'asuta alueetAseta rng1 = Alue ("A3")Aseta rng2 = Alue ("B3")Käytä NOT -operaattoria nähdäksesi, ovatko arvot yhtä suuret vai eivät.Jos ei rng1.Value = rng2.Value SittenMsgBox "Solujen arvot eivät ole samat"MuuMsgBox "Solujen arvot ovat yhtä suuret"Loppu JosEnd Sub

Xor Logical Operatorin käyttäminen

TheXor loogista operaattoria käytetään kahden tai useamman ehdon vertaamiseen. Jos jokin ehdoista on totta, se palauttaa arvon TOSI. Jos on kaksi ehtoa ja KOSKAAN eivät ole totta tai KUMMAT ovat totta, se palauttaa EPÄTOSI.

1234567891011121314151617 Sub blnExample ()'ilmoita kokonaisluvutDim intA kokonaislukunaDim intB kokonaislukuna'julista boolen muuttujaDim blnTulos Boolen muodossa'täyttää muuttujatintA = 5intB = 10'Tarkista, onko yksi tottaJos intA = 5 X tai intB = 5 SittenblnResult = TottaMuublnResult = VääräLoppu JosMsgBox blnTulosEnd Sub

Yllä olevassa esimerkissä, koska YKSI ehdoista on TOSI, viestilaatikko palaa TOTTA.

1234567891011121314151617 Sub blnExample ()'ilmoita kokonaisluvutDim intA kokonaislukunaDim intB kokonaislukuna'julista boolen muuttujaDim blnTulos Boolen muodossa'täyttää muuttujatintA = 5intB = 5'Tarkista, onko yksi tottaJos intA = 5 X tai intB = 5 SittenblnResult = TottaMuublnResult = VääräLoppu JosMsgBox blnTulosEnd Sub

Kuitenkin yllä olevassa esimerkissä, koska molemmat ehdot täyttyvät, sanomalaatikko palaa VÄÄRÄ.

1234567891011121314151617 Sub blnExample ()'ilmoittaa kokonaisluvutDim intA kokonaislukunaDim intB kokonaislukuna'julista boolen muuttujaDim blnTulos Boolen muodossa'täyttää muuttujatintA = 6intB = 8'Tarkista, onko yksi tottaJos intA = 5 X tai intB = 5 SittenblnResult = TottaMuublnResult = VääräLoppu JosMsgBox blnTulosEnd Sub

ja lopuksi, koska molemmat ehdot ovat EPÄTOSIA, myös viestiruutu palauttaa EPÄTOSI.

Tulet auttaa kehittämään sivuston jakaminen sivu ystävillesi

wave wave wave wave wave