Typ danych logicznych VBA (zmienna dim)

Typ zmiennej logicznej

Typ danych VBA Boolean służy do przechowywania wartości True lub False. Prawda może być również reprezentowana przez 1, a fałsz przez 0.

Aby zadeklarować zmienną Boolean, użyj instrukcji Dim (skrót od Dimension):

1 Dim blnA jako Boolean

Następnie, aby przypisać wartość do zmiennej, wystarczy użyć znaku równości:

1 blnA = Prawda

Kiedy umieścisz to w procedurze, może to wyglądać tak:

123456789101112 SubblnPrzykład()'deklaruj zmienną logicznąDim blnA jako Boolean'uruchom kod, aby wypełnić zmienną - zwykle kod jest instrukcją if lub case'Jeśli zakres ("A1") > 0 toblnA = prawdaW przeciwnym razieblnA = FałszZakończ, jeśli'pokaż okno wiadomościMsgBox "Testem sprawdzającym, czy komórka ma wartość większą niż 0 jest " & blnaNapis końcowy

Jeśli uruchomisz powyższy kod, pojawi się następujący komunikat.

Zadeklaruj zmienną logiczną na poziomie modułu lub globalnego

W poprzednim przykładzie zadeklarowaliśmy Boole'a zmienna w ramach procedury. Zmienne zadeklarowane za pomocą procedury mogą być używane tylko w ramach tej procedury.

Zamiast tego można zadeklarować zmienne logiczne na poziomie modułu lub globalnym.

Poziom modułu

Ty deklarujesz Poziom modułu zmienne na górze modułów kodu z Ciemny oświadczenie.

Zmiennych tych można używać z dowolną procedurą w tym module kodu.

Poziom globalny

Ty też deklarujesz Poziom globalny zmienne u góry modułów kodu. Jednak zamiast używać Ciemny oświadczenie, użyjesz Publiczny oświadczenie wskazujące, że Boole'a zmienna jest dostępna do użycia w całym projekcie VBA.

1 Publiczny blna jako Boolean

Gdybyś miał zadeklarować Boole'a zmiennej na poziomie modułu, a następnie spróbuj użyć jej w innym module, otrzymasz błąd.

Jeśli jednak użyłeś słowa kluczowego Public, aby zadeklarować Boole'a zmienna, błąd nie wystąpi, a procedura przebiegnie bez zarzutu.

Korzystanie ze zmiennej logicznej

Używasz zmiennej logicznej w logicznym porównaniu. Są one często używane z instrukcjami If, aby sprawdzić, czy warunek jest prawdziwy lub fałszywy, jak w powyższym przykładzie, lub w wierszu kodu, aby zastosować test logiczny - być może, aby sprawdzić, czy jedna wartość jest większa od innej.

12345678 SubblnPrzykład()'deklaruj zmienną logicznąDim blnA jako Boolean'sprawdź, czy jedna liczba jest większa od następnejblnA = 45 > 68'pokaż okno wiadomościMsgBox blnANapis końcowy

Jeśli uruchomisz powyższy kod, otrzymasz następujący komunikat.

bo oczywiście 45 jest nie większe niż 68!

Korzystanie z operatorów logicznych

Ponieważ zmienne logiczne są używane w porównaniach logicznych, możemy użyć operatorów logicznych AND i OR, aby sprawdzić, czy więcej niż jeden warunek jest prawdziwy lub fałszywy.

Korzystanie z operatora AND

Możemy użyć funkcji AND, aby sprawdzić, czy są spełnione OBA warunki.

12345678 SubblnPrzykład()'deklaruj zmienną logicznąDim blnA jako Boolean'użyj operatora AND, aby sprawdzić, czy oba warunki są spełnioneblnA = 10 > 13 i 15 > 12'pokaż okno wiadomościMsgBox blnANapis końcowy

lub możemy przeprowadzić ten sam test za pomocą instrukcji If:

123456789101112 SubblnPrzykład()'deklaruj zmienną logicznąDim blnA jako Boolean'użyj operatora AND, aby sprawdzić, czy oba warunki są spełnioneJeśli 10 > 13 i 15 > 12 WtedyblnA = PrawdaW przeciwnym razieblnA = FałszZakończ, jeśli'pokaż okno wiadomościMsgBox blnANapis końcowy

Oba powyższe przykłady zwrócą FAŁSZYWE ze względu na to, że 10 to NIE większe niż 13 - i ZARÓWNO warunki muszą być prawdziwe, aby wartość logiczna była prawdziwa.

Korzystanie z operatora OR

Możemy użyć funkcji OR, aby sprawdzić, czy JEDEN Z warunków jest spełniony.

12345678 SubblnPrzykład()'deklaruj zmienną logicznąDim blnA jako Boolean'użyj operatora AND, aby sprawdzić, czy oba warunki są spełnioneblnA = 10 > 13 lub 15 > 12'pokaż okno wiadomościMsgBox blnANapis końcowy

lub możemy przeprowadzić ten sam test za pomocą instrukcji If:

123456789101112 SubblnPrzykład()'deklaruj zmienną logicznąDim blnA jako Boolean'użyj operatora AND, aby sprawdzić, czy oba warunki są spełnioneJeśli 10 > 13 LUB 15 > 12 WtedyblnA = PrawdaW przeciwnym razieblnA = FałszZakończ, jeśli'pokaż okno wiadomościMsgBox blnANapis końcowy

Te przykłady wrócą PRAWDA ze względu na fakt, że 10 NIE jest większe niż 13, ALE 15 JEST większe niż 12 - iTYLKO JEDEN warunek musi być spełniony, aby wartość logiczna była słuszna.

Użycie instrukcji If pozwala nam na użycie większej liczby operatorów logicznych

Korzystanie z operatora NOT

Możemy również użyć operatora NOT ze zmienną Boolean. Operator NOT neguje wartość warunku - więc jeśli warunek jest prawdziwy, operator NOT zwróci fałsz.

12345678910111213141516 Znajdź różnice()'deklaruj zmienne zakresu'Dim rng1 jako zakresDim rng2 jako zakres'aktywuj arkusz pierwszyArkusze ("Arkusz1"). Aktywuj„wypełnij zakresy”Ustaw rng1 = Zakres("A3")Ustaw rng2 = Zakres("B3")'użyj operatora NOT, aby sprawdzić, czy wartości są równe, czy nie.Jeśli nie rng1.Value = rng2.Value WtedyMsgBox "Wartości w komórkach nie są równe"W przeciwnym razieMsgBox "Wartości w komórkach są równe"Zakończ, jeśliNapis końcowy

Korzystanie z operatora logicznego Xor

tenXor operator logiczny służy do porównania dwóch lub więcej warunków. Jeśli jeden z warunków jest spełniony, zwróci TRUE. Jeśli są 2 warunki i ANI NIE są prawdziwe lub OBA są prawdziwe, zwróci FALSE.

1234567891011121314151617 SubblnPrzykład()'deklaruj liczby całkowite'Dim intA jako liczba całkowitaDim intB jako liczba całkowita'deklaruj zmienną logicznąDim blnResult As Boolean'wypełnij zmienneintA = 5intB = 10„sprawdź, czy jeden jest prawdziwy”Jeśli intA = 5 Xlub intB = 5 WtedyblnWynik = PrawdaW przeciwnym razieblnWynik = FałszZakończ, jeśliMsgBox blnResultNapis końcowy

W powyższym przykładzie, ponieważ JEDEN z warunków jest PRAWDZIWY, okno komunikatu powróci PRAWDA.

1234567891011121314151617 SubblnPrzykład()'deklaruj liczby całkowite'Dim intA jako liczba całkowitaDim intB jako liczba całkowita'deklaruj zmienną logicznąDim blnResult As Boolean'wypełnij zmienneintA = 5intB = 5„sprawdź, czy jeden jest prawdziwy”Jeśli intA = 5 Xlub intB = 5 WtedyblnWynik = PrawdaW przeciwnym razieblnWynik = FałszZakończ, jeśliMsgBox blnResultNapis końcowy

Jednak w powyższym przykładzie, ponieważ OBA warunki są spełnione, okno komunikatu powróci FAŁSZYWE.

1234567891011121314151617 SubblnPrzykład()'deklaruj liczby całkowite'Dim intA jako liczba całkowitaDim intB jako liczba całkowita'deklaruj zmienną logicznąDim blnResult As Boolean'wypełnij zmienneintA = 6intB = 8„sprawdź, czy jeden jest prawdziwy”Jeśli intA = 5 Xlub intB = 5 WtedyblnWynik = PrawdaW przeciwnym razieblnWynik = FałszZakończ, jeśliMsgBox blnResultNapis końcowy

i wreszcie, ponieważ oba warunki są FALSE, okno komunikatu również zwróci FALSE.

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave