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 LUB potrzebowaliśmy, aby którykolwiek z podanych warunków logicznych był spełniony, aby otrzymać wynik jako PRAWDA. Ale w funkcji AND jest 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, mamy FAŁSZ, mimo że wynik testu 2 jest równy 250. To dlatego, że w teście 1 wynik wynosi tylko 179.
Przykłady użycia języka VBA i funkcji
Możesz pobrać ten szablon VBA I Excel tutaj - szablon VBA I ExcelPrzykł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ść za pomocą funkcji 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ć 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 jest FAŁSZ. Aby wynik był PRAWDZIWY, oba warunki powinny być spełnione.
Przykład nr 2
Teraz zmienię test logiczny na „100> 95 AND 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 wynik PRAWDA, ponieważ
Pierwszy test logiczny: 100> 95 = PRAWDA
Drugi test logiczny: 100 <200 = PRAWDA
Ponieważ otrzymaliśmy wyniki PRAWDA dla obu testów logicznych, nasz ostateczny wynik to PRAWDA.
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łę i logiczne jest to samo, tylko użyłem „VBA For Next Loop”.
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
To da wynik dokładnie taki sam, jak nasza funkcja arkusza, ale nie otrzymamy żadnych formuł, otrzymamy tylko wyniki.
W ten sposób możemy zastosować funkcję logiczną AND, aby przetestować wiele warunków, z których wszystkie powinny być PRAWDA, 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 AND wymaga 100% wyniku w teście logicznym, aby otrzymać wyniki.