Instrukcje Excel VBA IF

Instrukcja IF w kodzie VBA jest jedną z najczęściej używanych, co pozwala na dokonanie wyboru. Funkcja JEŻELI w VBA różni się w porównaniu z funkcją JEŻELI EXCEL, tj. W Excelu funkcja lub formuła JEŻELI sprawdza, czy podany warunek lub kryteria mają wartość PRAWDA lub FAŁSZ, a następnie zwraca wartość na podstawie oceny, podczas gdy instrukcja JEJ VBA wykona tylko pierwszą połowa instrukcji, tj. sprawdź, czy warunek ma wartość PRAWDA, czy FAŁSZ, dodatkowo TO instrukcja musi zostać wpisana do instrukcji VBA IF, aby pozostała operacja lub zadanie do wykonania.

Trzy parametry, o których należy pamiętać podczas pisania kodu instrukcji VBA IF.

  • Warunek lub parametr do przetestowania.
  • Operacja lub zadanie do wykonania, jeśli warunek jest PRAWDA.
  • Operacja lub zadanie do wykonania, jeśli warunek ma wartość FAŁSZ

Jest to instrukcja decyzyjna służąca do wykonania bloku kodu.

Wykonuje zadanie lub operację, gdy warunek jest PRAWDA, w przeciwnym razie nie rób nic lub rób coś innego. Zwykle instrukcja if składa się z wyrażenia logicznego, po którym następują instrukcje (może to być jedno lub wiele).

Warunek prosty do złożonego można zapisać w instrukcji VBA IF.

Poniżej pokazano różne typy instrukcji IF VBA wraz z ich składnią i przykładami.

Rodzaje instrukcji IFSkładnia
JEŚLI NASTĘPNIEJeśli następnie (oświadczenie)

Zakończ jeśli

JEŚLI INACZEJJeśli następnie (Statement1)

Jeszcze:

(Statement2)

Zakończ jeśli

JEŚLI ELSEIFJEŚLI Zatem

(Statement1)

ELSEIF Zatem

(Statement2)

End If

ELSE I ELSEIF

(Instrukcja ELSEIF musi być na pierwszym miejscu, po tym ELSE)

JEŻELI (warunek 1 jest spełniony) Następnie

(Statement1)

ELSEIF (spełniony jest warunek 2)

(Statement2)

JESZCZE

(Statement3)

End If

JEŚLI BEZ ENDIF

(tylko kod jednowierszowy)

Używane, gdy nie jest używana instrukcja ELSE lub ELSE IF

JEŻELI (warunek jest spełniony) Następnie (Instrukcja)

Oprócz powyższej instrukcji można również użyć instrukcji NESTED IF, tj. Instrukcji if lub ELSEIF w innej instrukcji if lub ELSEIF.

Jak używać instrukcji IF w programie Excel VBA?

Nauczymy się typów i korzystania z instrukcji IF VBA z kilkoma przykładami w Excelu.

Możesz pobrać szablon Excel VBA IF Oświadczenia tutaj - Szablon Excel VBA IF Oświadczenia
  • Otwórz okno edytora VB. Wybierz lub kliknij Visual Basic w grupie Kod na karcie Deweloper lub możesz bezpośrednio kliknąć Alt + F11 .

  • Spowoduje to przejście do okna kodowania Visual Basic. Teraz przejdź do menu Wstaw z okna VBA i wybierz Moduł, jak pokazano poniżej.

  • Teraz tworzony jest pusty moduł, nazywany jest także oknem kodu, w którym możesz zacząć pisać kody instrukcji if.

Instrukcja VBA IF THEN - przykład nr 1

JEŻELI TO jest prostą formą instrukcji VBA. Format do pisania kodu to:

Jeśli to

Po wprowadzeniu powyższej składni należy użyć pasującej instrukcji End If , gdy warunek zostanie spełniony lub kryteria zostaną ocenione na true, wówczas przetworzone zostaną wszystkie wiersze między If Then a End If .

Gdy wpiszesz Sub IF_THEN () jako pierwszą wiadomość bez cudzysłowów, możesz zauważyć, że Excel automatycznie dodaje wiersz End Sub poniżej pierwszego wiersza wiadomości po naciśnięciu Enter. Teraz wszystkie kody, które wprowadzasz, muszą znajdować się między tymi dwoma wierszami.

Kod:

 Sub IF_THEN () Jeśli 3> 2 to MsgBox „3 jest większy niż 2” End If End Sub 

Sprawdźmy powyższy kod, który ma jeden wiersz instrukcji IF, który weryfikuje lub sprawdza wartość 3.

Jeśli wartość „3” jest większa niż „2 ″, pojawia się komunikat wyskakujący z komunikatem, tzn. „ 3 jest większy niż 2 ”. Jeśli zmienisz wartość z „ 2 ” na „ 5 ” w kodzie VBA i uruchom ją, nic się nie stanie. Ponieważ 3 nie jest większe niż 5.

Możesz uruchomić makro, klikając przycisk Run Sub lub naciskając klawisz F5 . Zostanie wyświetlone okno podręczne okna komunikatu VBA z komunikatem „3 jest większe niż 2”

Instrukcja VBA IF-THEN-ELSE - przykład nr 2

W tym scenariuszu instrukcja IF i ELSE służy do wykonania dwóch różnych warunków. Format lub składnia do pisania kodu to:

Jeśli to

Oświadczenie 1

Jeszcze:

Oświadczenie 2

Zakończ jeśli

JEŻELI uruchomisz niżej wymieniony kod, tj. Jeśli komórka B4 zawiera wartość 7, pojawi się okno komunikatu „Komórka B4 ma wartość 7”, a jeśli komórka B4 zawiera wartość inną niż 7, otrzymasz okno komunikatu pokazujące „Komórka B4 ma wartość inną niż 7”.

Tutaj, w oparciu o wartość obecną w komórce, występuje inny wynik (tj. Więcej niż jeden warunek).

Kod:

 Sub IF_THEN_ELSE () Jeżeli zakres („B4”). Wartość = „7” Następnie komórka B4 MsgBox ma wartość 7 Komórka B4 „Else MsgBox” ma wartość inną niż 7 „Koniec, jeśli End Sub 

Teraz komórka „B4” zawiera wartość 7, jeśli uruchomię powyżej kodu, pojawi się pierwszy warunek.

Załóżmy, że zmieniłem wartość komórki „B4” z 7 na 5, jak pokazano poniżej.

Kod:

 Pod IF_THEN_ELSE () Jeśli zakres („B4”). Wartość = „5” Następnie komórka B4 MsgBox ma wartość 7 „Else MsgBox” komórka B4 ma wartość inną niż 7 „Koniec, jeśli koniec podrzędny 

Więc jeśli uruchomię powyżej kodu VBA IF-THEN-ELSE, pojawi się drugi warunek.

IF-THEN-ELSEIF-ELSE - Przykład nr 3

Jest to zaawansowana forma instrukcji VBA if, format lub składnia do pisania kodu

JEŻELI (warunek 1 jest spełniony) Następnie

(Statement1)

ELSEIF (spełniony jest warunek 2)

(Statement2)

JESZCZE

(Statement3)

End If

Zaletą tego kodu jest to, że ELSE JEŻELI można użyć pojedynczo lub wiele razy (10 lub 100 razy lub więcej) zgodnie z wymaganiami.

Kod:

 Sub IF_THEN_ELSEIF_ELSE () Jeżeli 5> 8, to MsgBox „5 jest większy niż 8” ElseIf 6> 8, a następnie MsgBox ”6 jest większy niż 8„ ElseIf 7> 8, a następnie MsgBox ”7 jest większy niż 8„ Else MsgBox ”5, 6 lub 7 jest mniejsze niż 8 "End If End Sub 

Sprawdźmy, jak działa powyższy kod, Excel zainicjuje lub przetworzy pierwsze zdanie, gdy zauważy, że jest ono fałszywe, a następnie przejdzie do następnego. Tutaj wszystkie argumenty ElseIf lub warunek są fałszywe, dlatego przejdzie ono dalej, aż warunek będzie prawdziwy, a na końcu wynik argumentu Else zostanie wyświetlony jako wynik końcowy instrukcji IF. tzn. MsgBox „5, 6 lub 7 jest mniejsze niż 8”, co jest PRAWDZIWYM argumentem.

Po wybraniu i uruchomieniu kodu, klikając przycisk Run Sub lub naciskając klawisz F5 . Wyskakujące okienko okna komunikatu VBA z komunikatem „5, 6 lub 7 jest mniejsze niż 8”, co jest prawdziwym argumentem

Teraz możesz zapisać te kody makr, zmieniając nazwę na VBA_IF_STATEMENT w sekcji nazwy karty właściwości

Rzeczy do zapamiętania

  • Gdy używany jest pojedynczy wiersz instrukcji IF Then, nie ma potrzeby używania End IF. Ale kiedy podzielimy go na więcej niż jedną linię, należy użyć instrukcji End If.
  • W instrukcji VBA, IF-THEN-ELSEIF-ELSE argumenty ElseIf należy zawsze umieszczać przed argumentem Else.

Polecane artykuły

Jest to przewodnik po instrukcjach VBA IF. Tutaj omówiliśmy, jak używać instrukcji IF w Excel VBA wraz z praktycznymi przykładami i szablonem Excela do pobrania. Możesz także przejrzeć nasze inne sugerowane artykuły -

  1. Tablice VBA w programie Excel
  2. Przewodnik po formacie liczb VBA
  3. Przewodnik po VBA Find
  4. Jak korzystać z VBA Do While Loop?

Kategoria: