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

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *