Jak korzystać z instrukcji If Else w VBA? (z przykładami)

Instrukcja Excel VBA IF Else

W arkuszu nie ma instrukcji IF Else i można jej używać tylko w kodzie VBA, podczas pracy w VBA możemy podać warunek, którym jest instrukcja warunku If i jeśli zostanie spełniony określony zestaw instrukcji, to jest wykonywany i jeśli warunek nie spełnia instrukcji, a następnie wykonywana jest instrukcja.

VBA nie różni się, jeśli chodzi o testy logiczne. Działa tak samo, jak w zwykłych arkuszach roboczych. Ze wszystkich funkcji logicznych funkcja „JEŻELI” jest najczęściej używana z partii. Używając IF, możemy przeprowadzić test logiczny i podjąć decyzje, jeśli test logiczny jest spełniony, a także podjąć alternatywne decyzje, jeśli test logiczny nie jest spełniony.

Poniżej znajduje się składnia warunku IF Else.

JEŻELI Wtedy Jeśli Test logiczny ma wartość PRAWDA W przeciwnym razie Jeśli Test logiczny ma wartość FAŁSZ Zakończ JEŻELI

Co to jest instrukcja VBA IF Then Else?

Gdy dostarczony test logiczny ma wartość FAŁSZ, musimy wykonać alternatywne zadanie jako część kodu. Zatem „JEŚLI JESZCZE” oznacza, że ​​jeśli test logiczny jest FAŁSZEM, co jeszcze należy zrobić.

Aby lepiej zrozumieć poniższy przykład, podaliśmy wynik jako „10 jest większe” tylko wtedy, gdy test logiczny to PRAWDA. Mimo to w wyniku logicznym FAŁSZ możemy podać wynik alternatywny jako „10 jest mniejsze”.

Więc po dostarczeniu testów logicznych i wpisaniu PRAWDZIWEGO kodu części w następnym wierszu wprowadź słowo „ELSE”.

ELSE oznacza, że ​​jeśli test logiczny nie jest PRAWDA, potrzebujemy wyniku jako „10 jest mniejsze”.

Kod:

Sub IF_Else_Example1 () If 10> 11 Then MsgBox "10 jest większe" Else MsgBox "10 jest mniejsze" End If End Sub

Teraz nasz kod daje przynajmniej jeden z powyższych wyników. Wykonaj kod i zobacz wynik.

Ponieważ dostarczyliśmy alternatywny wynik, jeśli test logiczny ma wartość FAŁSZ, wyświetlił on alternatywny wynik jako „10 jest mniejszy”, ponieważ 10 jest mniejsze niż druga liczba 11.

Przykład

Na przykład spójrz na poniższe dane.

Mając te dane, musimy ustalić stan na podstawie „Kosztu” każdego produktu. Aby uzyskać status poniżej, są kryteria.

Jeśli koszt własny wynosi> 50, stan powinien być „ Drogi ” lub „ Niedrogie ”.

Tutaj musimy przetestować koszt własny, tj. Logicznie sprawdzić, czy koszt własny wynosi> 50, czy nie. Jeśli test logiczny ma wartość PRAWDA, tj. Koszt własny jest wyższy niż 50, potrzebujemy statusu „Drogi”, a jeśli test logiczny ma wartość FAŁSZ, tj. Koszt kosztu jest niższy niż 50, potrzebujemy wyniku alternatywnego jako "Nie drogie."

Ok, napiszmy teraz kod. Wcześniej skopiuj i wklej powyższą tabelę do arkusza programu Excel.

Krok 1: Uruchom podprocedurę.

Sub IF_ELSE_Example2 () End Sub

Krok 2: Zadeklaruj zmienną jako typ danych Integer.

Dim k As Integer

Krok 3: Ponieważ musimy przetestować więcej niż jedną wartość komórki, musimy użyć FOR VBA LOOP, aby zapętlić komórki i zastosować logikę dla wszystkich komórek.

Musimy zastosować testy logiczne z rzędu 2 do 8 th wiersz, więc zacząć pętli od 2 do 8.

Kod:

Dla k = 2 do 8 Następny k

Krok 4: Wewnątrz tej pętli musimy wykonać test logiczny. Otwórz więc instrukcję IF i wybierz pierwszą komórkę przy użyciu właściwości CELLS.

Kod:

Jeśli Cells (k, 2) .Value> 50 Then

Tutaj Komórki (k, 2) oznaczają wiersz (wartość k) i kolumnę 2.

Krok 5: Jeśli wartość tej komórki jest> 50, potrzebujemy wyniku jako „Drogi” w następnej komórce kolumny. Więc kod będzie -

Kod:

Cells (k, 3) .Value = "Drogie"

Krok 6: Jeśli test nie jest PRAWDA, potrzebujemy wyników instrukcji ELSE, tj. „Niedrogie”.

Kod:

Sub IF_ELSE_Example2 () Dim k As Integer For k = 2 to 8 If Cells (k, 2) .Value> 50 Then Cells (k, 3) .Value = "Expensive" Else Cells (k, 3) .Value = "Not Kosztowne „End If Next k End Sub

Ten kod będzie przechodził od drugiego do ósmego rzędu, testując liczby i uzyskując wynik na podstawie kosztu własnego.

W ten sposób możemy użyć If-Else, aby uzyskać alternatywne wyniki.

Rzeczy do zapamiętania

  • Instrukcja Else służy do testu logicznego FAŁSZ.
  • Jeśli chcesz zastosować więcej niż dwa testy logiczne w programie Excel, musimy użyć instrukcji ELSE IF.
  • W przypadku wykonywania zadań dla więcej niż jednej komórki musimy zastosować pętle.
  • Instrukcja If Else może przetestować tylko jeden test logiczny.

Interesujące artykuły...