Excel VBA Else If

VBA Else If pozwala przeanalizować warunek i odpowiednio wykonać akcję. JEŻELI warunek sprawdza, czy podany warunek ma wartość PRAWDA, czy FAŁSZ, jeśli warunek jest PRAWDA, zwróci przypisaną wartość Wartość, jeśli Prawda, i zwróci Wartość JEŻELI, jeśli wynik jest FAŁSZ.

Logika warunku IF w formule regularnego programu Excel i formule VBA jest taka sama. W tym artykule omówię pełny warunek VBA IF.

Składnia instrukcji VBA If

Najpierw zobacz składnię instrukcji IF w VBA.

Jest to bardzo podobne do naszej funkcji arkusza IF. Jedyna różnica polega na tym, że musimy wprowadzić słowo TO, aby przejść do przodu w funkcji, również inna część warunku IF jest opcjonalna w przeciwieństwie do naszego normalnego warunku IF i musimy wspomnieć o końcu funkcji jako End If .

W rzeczywistości będzie jeszcze jeden argument, jeśli warunki do testowania są więcej niż jednym warunkiem i ta część jest wywoływana jako instrukcja ELSE IF. To jest jak nasz zagnieżdżony warunek IF w naszych obliczeniach arkusza roboczego. ELSE JEŻELI przejdzie do wartości obrazu, jeśli warunek jest FAŁSZ, wówczas musimy przetestować więcej warunku za pomocą warunku ELSE IF.

W tym artykule zobaczymy więcej ELSE IF warunek w praktycznym świecie.

Jak korzystać z instrukcji VBA Else If?

Zobaczmy, jak używać instrukcji Else If VBA z kilkoma przykładami.

Możesz pobrać ten szablon VBA Else If Excel tutaj - VBA Else If Excel szablon

Prosta instrukcja If - przykład nr 1

Teraz wystarczy wyjaśnienie teoretyczne, nawet jeśli nie zrozumiałeś niczego, co mogłoby Cię martwić. W praktycznym przykładzie zrozumiesz logikę.

Załóżmy, że masz wartość w komórce A2 i chcesz sprawdzić, czy liczba jest większa niż 100, czy nie. Jeśli wartość jest większa niż 100, potrzebujemy wartości w komórce B2 jako „Więcej niż 100”. Poniższy kod wykona wymagane zadanie.

Kod:

 Sub IF_Example1 () If Range („A2”). Wartość> 100 Następnie Range („B2”). Wartość = „Więcej niż 100” End If End Sub 

Następnie uruchom ten kod za pomocą klawisza F5 lub ręcznie, jak pokazano na zrzucie ekranu. Następnie możemy zobaczyć wynik w komórce B2.

Jeśli zmienisz wartość w komórce A2 na 99 i uruchom kod. Kod nic nie zwróci, ponieważ wartość jest mniejsza niż 100 i nie podaliśmy żadnego wyniku, jeśli test ma wartość FAŁSZ, co zobaczymy w następnym przykładzie.

W przypadku instrukcji Else - Przykład 2

Widzieliśmy, jak działa pojedynczy IF z warunkiem PRAWDA. Teraz zobaczymy, jak działać, jeśli dostarczony warunek ma wartość FAŁSZ.

W bieżącym kodzie po wartości True w następnym wierszu wpisz słowo Else.

Kod:

 Sub IF_Example2 () If Range („A2”). Wartość> 100 Następnie Range („B2”). Wartość = „Więcej niż 100” Else End If End Sub 

A w następnym wierszu napisz kod dla fałszywej wartości.

Kod:

 Sub IF_Example2 () If Range („A2”). Wartość> 100 Następnie Range („B2”). Wartość = „Więcej niż 100” Else Range („B2”). Wartość = „Mniej niż 100” End If End Sub 

Następnie uruchom ten kod za pomocą klawisza F5 lub ręcznie, jak pokazano na zrzucie ekranu. Jeśli wartość jest większa niż 100, wynikiem będzie „więcej niż 100” w komórce B2.

Jeśli wartość jest mniejsza niż 100, wynikiem będzie „Mniej niż 100”.

Instrukcja Nested If z Else If - Przykład nr 3

Gdy chcemy przetestować więcej niż jeden warunek, musimy użyć więcej instrukcji IF wewnątrz warunku IF. Ale w VBA musimy użyć słowa ELSE IF, aby przetestować więcej niż jeden warunek.

Na przykład w komórce A2, jeśli wartość jest większa niż 200, potrzebujemy wyniku jako „Więcej niż 200” w komórce B1.

Jeśli wartość jest większa niż 100, potrzebujemy wyniku jako „Więcej niż 100” w komórce B2.

Jeśli wartość jest mniejsza niż 100, potrzebujemy wyniku jako „Mniej niż 100” w komórce B2.

Krok 1: Po przekazaniu wartości PRAWDA wprowadź słowo ELSE IF w następnym wierszu.

Kod:

 Pod IF_Example3 () Jeśli zakres („A2”). Wartość> 200 następnie zakres („B2”). Wartość = „Więcej niż 200” ElseIf zakres („A2”). Wartość> 100 następnie zakres („B2”). Wartość = „Więcej niż 100” End If End Sub 

Krok 2: Ponieważ przetestowaliśmy już dwa argumenty, pozostaje nam tylko jeden warunek. Teraz w następnym wierszu podaj końcowy wynik testu z instrukcją ELSE.

Kod:

 Pod IF_Example3 () Jeśli zakres („A2”). Wartość> 200 następnie zakres („B2”). Wartość = „Więcej niż 200” ElseIf zakres („A2”). Wartość> 100 następnie zakres („B2”). Wartość = „Więcej niż 100” inny zakres („B2”). Wartość = „Mniej niż 100” End If End Sub 

Krok 3: Następnie uruchom ten kod za pomocą klawisza F5 lub ręcznie, jak pokazano na zrzucie ekranu, aby zobaczyć wyniki.

Wynik 1:

Wynik 2:

Wynik 3:

Nested If with Loop - Przykład 4

To jest zaawansowany przykład zagnieżdżonego IF z pętlą. Załóżmy, że masz tabelę sprzedaży z danymi z 12 miesięcy.

W kolumnie stanu potrzebujemy wyniku w następujący sposób.

  • Jeśli wartość sprzedaży jest większa niż 7000, wynik powinien być „Doskonały”
  • Jeśli wartość sprzedaży jest większa niż 6500, wynik powinien być „bardzo dobry”
  • Jeśli wartość sprzedaży jest większa niż 6000, wynik powinien być „Dobry”
  • Jeśli wartość sprzedaży jest większa niż 4000, wynik powinien być „Niezły”
  • Jeśli wszystkie wyniki są FAŁSZ, wynik powinien być „zły”

Aby wykonać ten test, potrzebny jest poniższy kod, który jest kombinacją IF z ELSE IF i LOOP.

Kod:

 Pod IF_Example4 () Dim i As Integer i = 2 For i = 2 To 13 If Cells (i, 2). Wartość> = 7000 Następnie Cells (i, 3). Wartość = „Doskonała” ElseIf Cells (i, 2). Wartość> = 6500 Następnie komórki (i, 3). Wartość = „Bardzo dobra” ElseIf Cells (i, 2). Wartość> = 6000 Następnie Cells (i, 3). Wartość = „Dobra” ElseIf Cells (i, 2) .Value> = 4000 Następnie komórki (i, 3) .Value = „Niezły” Kolejne komórki (i, 3) .Value = „Zły” Koniec, jeśli następny i Koniec Sub 

Następnie uruchom ten kod za pomocą klawisza F5 lub ręcznie, jak pokazano na zrzucie ekranu, aby zobaczyć wyniki.

Rzeczy do zapamiętania

  • Instrukcja ELSE IF wymaga kodu wynikowego w tym samym wierszu, a nie w następnym wierszu, a także wymaga instrukcji THEN, aby przejść do następnej instrukcji.
  • Jeśli instrukcja END IF nie zostanie dołączona, otrzymamy następujący błąd.

  • Operator jest niczym, ale nie jest równy instrukcji IF.
  • Podobnie jak funkcja arkusza, możemy również używać instrukcji AND & OR w instrukcji IF.

Polecane artykuły

Jest to przewodnik po VBA Else If Statement. Tutaj omówiliśmy VBA Else If i jak korzystać z Excela VBA Else If wraz z kilkoma praktycznymi przykładami i szablonem Excel do pobrania. Możesz także przejrzeć nasze inne sugerowane artykuły -

  1. Jak korzystać z VBA Select Case?
  2. Jak korzystać z funkcji wyszukiwania VBA?
  3. Przewodnik po funkcji VBA TRIM
  4. Przewodnik i przykłady pętli VBA

Kategoria: