VBA Būla datu tips (mainīgais mainīgais)

Būla mainīgā veids

Patiesu vai nepatiesu vērtību glabāšanai tiek izmantots VBA Būla datu tips. Patiesību var attēlot arī ar 1 un nepatiesu ar 0.

Lai deklarētu Būla mainīgo, izmantojiet Dim Statement (saīsinājums no Dimension):

1 Dim blnA kā Būla

Pēc tam, lai mainīgajam piešķirtu vērtību, vienkārši izmantojiet vienādības zīmi:

1 blnA = Taisnība

Ievietojot to procedūrā, tas varētu izskatīties šādi:

123456789101112 Sub blnPiemērs ()'deklarējiet Būla mainīgoDim blnA kā Būla'palaist kodu, lai aizpildītu mainīgo - parasti kods ir if vai case paziņojumsJa diapazons ("A1")> 0, tadblnA = taisnībaCitādiblnA = nepatiesaBeigas Ja'parādīt ziņojumu lodziņuMsgBox "Tests, lai noskaidrotu, vai šūnas vērtība ir lielāka par 0" & blnABeigu apakš

Ja palaižat iepriekš minēto kodu, tiks parādīts šāds ziņojumu lodziņš.

Deklarēt Būla mainīgo moduļa vai globālā līmenī

Iepriekšējā piemērā mēs esam deklarējuši Būla mainīgs procedūras ietvaros. Ar procedūru deklarētos mainīgos var izmantot tikai šīs procedūras ietvaros.

Tā vietā jūs varat deklarēt Būla mainīgos moduļa vai globālā līmenī.

Moduļa līmenis

Jūs paziņojat Moduļa līmenis mainīgie koda moduļu augšpusē ar Izmērs paziņojums, apgalvojums.

Šos mainīgos var izmantot jebkurā koda moduļa procedūrā.

Globālais līmenis

Jūs arī deklarējat Globālais līmenis mainīgie koda moduļu augšpusē. Tomēr tā vietā, lai izmantotu Izmērs paziņojumu, jūs izmantotu Publisks paziņojums, kas norāda, ka Būla mainīgo var izmantot visā VBA projektā.

1 Publiskais blnA kā Būla

Ja jūs deklarētu Būla mainīgo moduļa līmenī un pēc tam mēģiniet to izmantot citā modulī, jūs saņemsit kļūdu.

Tomēr, ja jūs būtu izmantojis publisko atslēgvārdu, lai deklarētu Būla mainīgais, kļūda nenotiktu un procedūra darbotos nevainojami.

Būla mainīgā izmantošana

Loģiskajā salīdzinājumā jūs izmantojat Būla mainīgo. Tos bieži izmanto kopā ar If paziņojumiem, lai pārbaudītu, vai nosacījums ir patiess vai nepatiess, kā norādīts iepriekš minētajā piemērā, vai koda rindā, lai lietotu loģisku pārbaudi - iespējams, lai noskaidrotu, vai viena vērtība ir lielāka par citu.

12345678 Sub blnPiemērs ()'deklarējiet Būla mainīgoDim blnA Kā Būla"pārbaudiet, vai viens skaitlis ir lielāks par nākamoblnA = 45> 68'parādīt ziņojumu lodziņuMsgBox blnABeigu apakš

Ja palaižat iepriekš minēto kodu, jūs saņemsit šādu ziņojumu lodziņu.

jo protams 45 nav lielāks par 68!

Būla operatoru izmantošana

Tā kā Būla mainīgie tiek izmantoti loģiskā salīdzinājumā, mēs varam izmantot loģiskos operatorus AND un OR, lai pārbaudītu, vai vairāki nosacījumi ir patiesi vai nepatiesi.

Operatora AND izmantošana

Mēs varam izmantot funkciju AND, lai pārbaudītu, vai ir izpildīti abi nosacījumi.

12345678 Sub blnPiemērs ()'deklarējiet Būla mainīgoDim blnA Kā Būla“izmantojiet operatoru AND, lai pārbaudītu, vai abi nosacījumi ir patiesiblnA = 10> 13 Un 15> 12'parādīt ziņojumu lodziņuMsgBox blnABeigu apakš

vai arī mēs varētu veikt to pašu testu, izmantojot paziņojumu Ja:

123456789101112 Sub blnPiemērs ()'deklarējiet Būla mainīgoDim blnA Kā Būla“izmantojiet operatoru AND, lai pārbaudītu, vai abi nosacījumi ir patiesiJa 10> 13 Un 15> 12 TadblnA = TaisnībaCitādiblnA = nepatiesaBeigas Ja'parādīt ziņojumu lodziņuMsgBox blnABeigu apakš

Abi iepriekš minētie piemēri atgriezīsies FALSE sakarā ar to, ka 10 ir lielāks par 13 - un Abos nosacījumiem ir jābūt patiesiem, lai Būla būtu patiesa.

Izmantojot operatoru OR

Mēs varam izmantot funkciju VAI, lai pārbaudītu, vai ir izpildīts VIENS no nosacījumiem.

12345678 Sub blnPiemērs ()'deklarējiet Būla mainīgoDim blnA Kā Būla“izmantojiet operatoru AND, lai pārbaudītu, vai abi nosacījumi ir patiesiblnA = 10> 13 vai 15> 12'parādīt ziņojumu lodziņuMsgBox blnABeigu apakš

vai arī mēs varētu veikt to pašu testu, izmantojot paziņojumu Ja:

123456789101112 Sub blnPiemērs ()'deklarējiet Būla mainīgoDim blnA Kā Būla“izmantojiet operatoru AND, lai pārbaudītu, vai abi nosacījumi ir patiesiJa 10> 13 VAI 15> 12 TadblnA = TaisnībaCitādiblnA = nepatiesaBeigas Ja'parādīt ziņojumu lodziņuMsgBox blnABeigu apakš

Šie piemēri atgrieztos PATIESA sakarā ar to, ka 10 NAV lielāks par 13, BET 15 IR lielāks par 12 - unTIKAI VIENS nosacījumam ir jābūt patiesam, lai Būla būtu patiesa.

If paziņojumu izmantošana ļauj izmantot loģiskākus operatorus

Izmantojot operatoru NOT

Mēs varam arī izmantot operatoru NOT ar Būla mainīgo. Operators NOT noliedz nosacījuma vērtību - tādēļ, ja nosacījums ir patiess, operators NOT atgriež nepatiesu vērtību.

12345678910111213141516 Sub FindDifferences ()'deklarēt diapazona mainīgosDim rng1 kā diapazonsDim rng2 kā diapazons'aktivizējiet pirmo lapuDarblapas ("Sheet1"). Aktivizēt'aizpildiet diapazonusIestatīt rng1 = Diapazons ("A3")Iestatīt rng2 = Diapazons ("B3")"Izmantojiet operatoru NOT, lai redzētu, vai vērtības ir vienādas vai nē.Ja nē rng1.Value = rng2.Value TadMsgBox "Šūnu vērtības nav vienādas"CitādiMsgBox "Vērtības šūnās ir vienādas"Beigas JaBeigu apakš

Izmantojot Xor loģisko operatoru

TheXor loģiskais operators tiek izmantots, lai salīdzinātu divus vai vairākus nosacījumus. Ja viens no nosacījumiem ir patiess, tas atgriezīs ĪSTU. Ja ir 2 nosacījumi un NEVIENS nav patiess vai Abi ir patiesi, tas atgriezīs FALSE.

1234567891011121314151617 Sub blnPiemērs ()'deklarē veselus skaitļusDim intA Kā vesels skaitlisDim intB Kā vesels skaitlis'deklarējiet Būla mainīgoDim blnResult Kā Būla'aizpildiet mainīgosintA = 5intB = 10'pārbaudiet, vai kāda no tām ir patiesaJa intA = 5 X vai intB = 5 TadblnResult = PatiessCitādiblnResult = NepareiziBeigas JaMsgBox blnResultBeigu apakš

Iepriekš minētajā piemērā, tā kā VIENS no nosacījumiem ir PATIESS, ziņojuma lodziņš atgriezīsies PATIESA.

1234567891011121314151617 Sub blnPiemērs ()'deklarē veselus skaitļusDim intA Kā vesels skaitlisDim intB Kā vesels skaitlis'deklarējiet Būla mainīgoDim blnResult Kā Būla'aizpildiet mainīgosintA = 5intB = 5'pārbaudiet, vai kāda no tām ir patiesaJa intA = 5 X vai intB = 5 TadblnResult = PatiessCitādiblnResult = NepareiziBeigas JaMsgBox blnResultBeigu apakš

Tomēr iepriekš minētajā piemērā, tā kā abi nosacījumi ir patiesi, ziņojumu lodziņš atgriezīsies FALSE.

1234567891011121314151617 Sub blnPiemērs ()'deklarē veselus skaitļusDim intA Kā vesels skaitlisDim intB Kā vesels skaitlis'deklarējiet Būla mainīgoDim blnResult Kā Būla'aizpildiet mainīgosintA = 6intB = 8'pārbaudiet, vai kāda no tām ir patiesaJa intA = 5 X vai intB = 5 TadblnResult = PatiessCitādiblnResult = NepareiziBeigas JaMsgBox blnResultBeigu apakš

un visbeidzot, tā kā abi nosacījumi ir FALSE, ziņojumu lodziņš arī atgriezīs FALSE.

Jums palīdzēs attīstību vietā, daloties lapu ar draugiem

wave wave wave wave wave