Funkcja VBA AND - Jak używać operatora logicznego AND w języku VBA?

Spisie treści

Excel VBA AND funkcja

AND jest zarówno funkcją logiczną, jak i operatorem logicznym, co oznacza, że ​​jeśli wszystkie warunki podane w tej funkcji zostaną spełnione, wtedy tylko my otrzymamy prawdziwy wynik, podczas gdy jeśli którykolwiek z warunków nie powiedzie się, wyjście jest zwracane jako fałszywe, otrzymujemy wbudowane polecenie AND w VBA do użycia.

Mam nadzieję, że przeczytałeś nasz artykuł o „VBA OR” i „VBA IF OR”. Ta funkcja jest przeciwieństwem funkcji LUB. W funkcji OR potrzebowaliśmy, aby którykolwiek z podanych warunków logicznych był spełniony, aby otrzymać wynik jako PRAWDA. Ale w funkcji AND jest po prostu odwrotnie. Aby otrzymać wynik PRAWDA, wszystkie testy logiczne dostarczone w programie Excel muszą być spełnione.

Ok, spójrz na składnię funkcji AND w programie Excel.

(Test logiczny) AND (Test logiczny) AND (Test logiczny)

Powyżej mam dwa wyniki testów na 600.

W kolumnie wyników muszę otrzymać wynik jako PRAWDA, jeśli wynik obu testów jest większy niż równy 250.

Spójrz na poniższy obrazek.

Kiedy zastosujemy funkcję logiczną ORAZ otrzymamy wyniki. W komórce C4 i C5 otrzymaliśmy wynik PRAWDA, ponieważ wyniki testów 1 i 2 są większe lub równe 250.

Spójrz na komórkę C6 tutaj. Mamy FALSE, mimo że wynik z Testu 2 jest równy 250. Dzieje się tak, ponieważ w Testie 1 jest to tylko 179 punktów.

Przykłady użycia języka VBA i funkcji

Przykład 1

Na przykład przetestujemy tutaj liczby, czy 25> = 20 i 30 <= 31.

Krok 1: Zadeklaruj zmienną jako ciąg.

Kod:

Sub AND_Example1 () Dim K As String End Sub

Krok 2: Zmiennej „k” przypiszemy wartość, stosując funkcję AND.

Kod:

Sub AND_Example1 () Dim K As String K = End Sub

Krok 3: Podaj pierwszy warunek jako 25> = 20.

Kod:

Sub AND_Example1 () Dim K As String K = 25> = 20 End Sub

Krok 4: Teraz otwórz funkcję AND i podaj drugi test logiczny, tj. 30 <= 29.

Kod:

Sub AND_Example1 () Dim K As String K = 25> = 20 And 30 <= 29 End Sub

Krok 5: Teraz pokaż wynik zmiennej „k” w oknie komunikatu w VBA.

Kod:

Sub AND_Example1 () Dim K As String K = 25> = 20 i 30 <= 29 MsgBox K End Sub

Uruchom makro, aby zobaczyć, jaki jest wynik.

Otrzymaliśmy wynik jako FAŁSZ, ponieważ z zastosowanych dwóch warunków, pierwszy warunek 25> = 20, ten warunek jest spełniony, więc wynik jest PRAWDZIWY, a drugi warunek 30 <= 29 to nie jest spełniony wynik to FAŁSZ. Aby wynik był PRAWDA, oba warunki powinny być spełnione.

Przykład nr 2

Teraz zmienię test logiczny na „100> 95 I 100 <200”.

Kod:

Sub AND_Example2 () Dim k As String k = 100> 95 i 100 <200 MsgBox k End Sub

Uruchom kod, aby zobaczyć wynik.

Tutaj otrzymaliśmy PRAWDA jako wynik, ponieważ

1 st test logiczny 100> 95 = PRAWDA

2 II test logiczny 100 <200 = PRAWDA

Ponieważ otrzymaliśmy wyniki TRUE dla obu testów logicznych, nasz ostateczny wynik to TRUE.

Przykład nr 3

Teraz zobaczymy dane z arkusza. Skorzystaj z danych, których użyliśmy, aby pokazać przykład funkcji excel AND.

Tutaj warunek to Wynik testu 1> = 250 ORAZ Wynik testu 2> = 250 .

Ponieważ mamy więcej niż jedną komórkę danych, musimy używać pętli, aby uniknąć pisania niepotrzebnych i czasochłonnych wierszy kodu. Napisałem dla Ciebie poniższy kod; formuła i logika są tym samym, tylko użyłem „VBA dla następnej pętli”.

Kod:

Sub AND_Example3 () Dim k As Integer For k = 2 to 6 Cells (k, 3) .Value = Cells (k, 1)> = 250 And Cells (k, 2)> = 250 Next k End Sub

Daje to wynik dokładnie taki sam, jak funkcja arkusza, ale nie otrzymamy żadnych formuł. Otrzymujemy tylko wyniki.

W ten sposób możemy zastosować funkcję logiczną AND do testowania wielu warunków, z których wszystkie powinny być PRAWDZIWE, aby uzyskać pożądane wyniki.

Działa to zupełnie odwrotnie niż funkcja OR, gdzie OR wymaga, aby którykolwiek z podanych warunków był PRAWDA, aby otrzymać wyniki, ale ORAZ wymaga 100% wyniku w teście logicznym, aby otrzymać wyniki.

Interesujące artykuły...