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.