Vba: użyj jeśli oraz, aby przetestować wiele warunków


Możesz użyć następującej podstawowej składni w VBA z JEŻELI i ORAZ, aby sprawdzić, czy spełnionych jest wiele warunków:

 SubIfAnd ()
    If Range(" A2 ") = "Warriors" And 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” i czy wartość w komórce B2 jest większa niż 100.

Jeżeli oba warunki są spełnione, 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.

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 , a wartość punktów jest większa niż 100 i zwrócić wynik w komórce C2 .

W tym celu możemy utworzyć następujące makro:

 SubIfAnd ()
    If Range(" A2 ") = "Warriors" And 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ść „Nie”. w komórce C2 , ponieważ oba warunki nie zostały spełnione.

Jeśli zmienimy wartość punktów w komórce B2 , 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 zmienimy wartość punktową na 104 i ponownie uruchomimy makro:

Makro poprawnie zwraca wartość „Tak!” » w komórce C2 , ponieważ oba warunki zostały spełnione.

Jeśli zamiast tego chcesz wyświetlić wyniki w oknie komunikatu, możesz użyć następującej składni:

 SubIfAnd ()
    If Range(" A2 ") = "Warriors" And 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ź „Tak!” » ponieważ nazwa drużyny to Wojownicy, a wartość punktowa jest większa niż 100.

Uwaga : w tym przykładzie operatora And 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 And , 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 *