Vba: użyj jeżeli lub, aby przetestować wiele warunków
Możesz użyć następującej podstawowej składni w VBA z JEŻELI i LUB, aby sprawdzić, czy spełnionych jest wiele warunków:
Sub IfOrTest()
If Range(" A2 ") = "Warriors" Or Range(" B2 ") > 100 Then
Range(" C2 ").Value = " Yes! "
Else
Range(" C2 ").Value = " No. "
End If
End Sub
Ten konkretny przykład sprawdza, czy wartość w komórce A2 jest równa „Wojownicy” lub czy wartość w komórce B2 jest większa niż 100.
Jeśli którykolwiek z warunków jest spełniony, wartość „Tak!” » jest zwracany w komórce C2 .
W przeciwnym razie wartość „Nie”. jest zwracany do komórki C2 .
Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.
Powiązane: VBA: Użyj JEŚLI ORAZ, aby przetestować wiele warunków
Przykład: użyj JEŻELI ORAZ, aby przetestować wiele warunków w VBA
Załóżmy, że mamy w Excelu następujące dane:
Załóżmy, że chcemy ustalić, czy nazwa drużyny to Warriors , czy też wartość punktów jest większa niż 100 i zwrócić wynik do komórki C2 .
W tym celu możemy utworzyć następujące makro:
Sub IfOrTest()
If Range(" A2 ") = "Warriors" Or Range(" B2 ") > 100 Then
Range(" C2 ").Value = " Yes! "
Else
Range(" C2 ").Value = " No. "
End If
End Sub
Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:
Makro poprawnie zwraca wartość „Tak!” » w komórce C2 , ponieważ co najmniej jeden z warunków został spełniony.
Jeśli zmienimy wartość punktów w komórce A2 , a następnie uruchomimy makro ponownie, sprawdzi ono, czy dla nowych wartości zostały spełnione oba warunki:
Załóżmy na przykład, że zmieniamy nazwę zespołu na „Rockets” i ponownie uruchamiamy makro:
Makro poprawnie zwraca wartość „Nie”. w komórce C2 , ponieważ żaden z warunków nie został spełniony.
Jeśli zamiast tego chcesz wyświetlić wyniki w oknie komunikatu, możesz użyć następującej składni:
Sub IfOrTest()
If Range(" A2 ") = "Warriors" Or Range(" B2 ") > 100 Then
MsgBox “ Yes! ”
Else
MsgBox “ No. ”
End If
End Sub
Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:
W oknie komunikatu zostanie zwrócona odpowiedź „Nie”. ponieważ żaden z warunków nie został spełniony.
Uwaga : w tym przykładzie operatora Or użyliśmy w naszym makrze tylko raz, aby sprawdzić, czy dwa warunki są spełnione, ale możesz użyć dowolnej liczby operatorów Or , ilu chcesz przetestować, jeśli spełnione są więcej niż dwa warunki.
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w VBA:
VBA: jak korzystać z funkcji WYSZUKAJ.PIONOWO
VBA: Jak liczyć wystąpienia znaków w ciągu
VBA: jak sprawdzić, czy ciąg zawiera inny ciąg