Spis treści
Wypowiedzi warunkowe służą do wykonywania zestawu akcji w zależności od określonego warunku w językach programowania. W tym artykule pokażemy, czym jest If - Then - Else deklaracja warunkowa w VBA Excel to i jak z niego korzystać.
Pobierz Workbook
Darmowy ćwiczeniowy zeszyt Excela można pobrać stąd.
If-Then-Else w VBA.xlsm
Wprowadzenie do instrukcji If - Then - Else w VBA
VBA If - Then - Else Instrukcja warunkowa jest używana głównie do decydowania o przebiegu wykonania warunków. Jeśli warunek jest prawdziwy to wykonywany jest pewien zestaw akcji, a jeśli warunek jest fałszywy to wykonywany jest inny zestaw akcji.
- Składnia
If warunek Then [stwierdzenia] [Else else_stwierdzenia]
Albo,
If warunek Then [oświadczenia] [Else [else_stwierdzenia]] End If
Tutaj,
Argument | Wymagane/ Fakultatywne | Opis |
---|---|---|
stan | Wymagane | Wyrażenie numeryczne lub łańcuchowe, które ocenia, czy wyrażenie jest Prawdziwe lub Fałszywy . Jeśli stan jest Null, uważa się, że Fałszywy . |
oświadczenia | Opcjonalnie | Formularz jednoliniowy, który nie posiada Else Jedno lub więcej stwierdzeń musi być oddzielone dwukropkami. Jeśli stan jest Prawdziwe , wówczas wykonywane jest to stwierdzenie. |
inne_wypowiedzi | Opcjonalnie | Wykonywane jest jedno lub więcej stwierdzeń, jeśli nie ma wcześniejszych stan jest Prawdziwe . |
4 Przykłady użycia instrukcji VBA If - Then - Else w Excelu
W tej części dowiesz się, jak używać If-Then-Else w VBA kod z 4 przykładami.
1) Znajdź największą liczbę pomiędzy dwoma liczbami za pomocą instrukcji If - Then - Else
Jeśli masz dwie liczby i chcesz się dowiedzieć, która z nich jest większa (lub mniejsza), możesz użyć funkcji If-Then-Else oświadczenie w VBA .
Kroki:
- Naciśnij Alt + F11 na klawiaturze lub przejdź do zakładki Programista -> Visual Basic otworzyć Edytor Visual Basic .
- W wyskakującym oknie kodu, na pasku menu, kliknij Insert -> Moduł .
- Skopiuj poniższy kod i wklej go do okna kodu.
Private Sub BiggestNumber() Dim Num1 As Integer Dim Num2 As Integer Num1 = 12345 Num2 = 12335 If Num1> Num2 Then MsgBox "Liczba pierwsza jest większa od liczby drugiej" ElseIf Num2> Num1 Then MsgBox "Liczba druga jest większa od liczby pierwszej" Else MsgBox "Liczba pierwsza i liczba druga są równe" End If End Sub
Twój kod jest teraz gotowy do uruchomienia.
Tutaj porównujemy dwie liczby 12345 oraz 12335 , aby dowiedzieć się, który z nich jest większy. Ten proces jest zwykle idealny do znalezienia dużych liczb w dużym zbiorze danych.
- Naciśnij F5 na klawiaturze lub z paska menu wybrać Run -> Run Sub/UserForm. Możesz też po prostu kliknąć na mała ikona Play na pasku podmenu, aby uruchomić makro.
Wynik otrzymasz w Excelu MsgBox
W naszym przypadku, liczba 12345 - przechowywany w zmiennej Num1 - jest większa od liczby 12335 , Num2 Więc MsgBox pokazuje nam, że Pierwsza liczba jest większa od drugiej .
Read More: Excel Formula to Generate Random Number (5 przykładów)
2. Sprawdzanie wyników ucznia za pomocą instrukcji If - Then - Else w VBA
Możesz sprawdzić, czy student zdał lub nie zdał egzaminu za pomocą tego stwierdzenia w VBA kod.
Kroki:
- W taki sam sposób jak poprzednio, otwórz Edytor Visual Basic od Deweloper zakładka i Wkładka a Moduł w oknie kodu.
- W oknie kodu skopiuj poniższy kod i wklej go.
Sub CheckResult() If Range("D5").Value> 33 Then MsgBox "Wynik Jana to Pass" Else MsgBox "Wynik Jana to Fail" End If End Sub
Twój kod jest teraz gotowy do uruchomienia.
Ten kod sprawdzi, czy Cell D5 ma wartość większą niż 33 Jeśli tak, to pokaże jedno wyjście, jeśli nie, to pokaże coś innego.
- Uruchom makro i otrzymasz wynik zgodnie z twoim kodem.
Spójrz na powyższy zbiór danych z wynikiem, Cell D5 trzyma 95 co jest z pewnością więcej niż 33 , dlatego też wyświetla Wynik jest pozytywny Ale jeśli uruchomimy kod dla komórki D7 (22), to wyświetlałaby się inaczej.
Read More: Jak używać VBA Case Statement (13 przykładów)
Podobne lektury
- Jak używać funkcji log w Excelu VBA (5 odpowiednich przykładów)
- Wykorzystanie funkcji VBA LTrim w Excelu (4 przykłady)
- Jak używać funkcji VBA FileDateTime w Excelu (3 zastosowania)
- Użyj operatora VBA Mod (9 przykładów)
- VBA Funkcja EXP w Excelu (5 przykładów)
3. aktualizacja komentarzy w ocenach uczniów za pomocą wielokrotnych poleceń typu "jeśli", "wtedy" i "wtedy" w VBA.
Nauczyłeś się, jak wyodrębnić, czy student zdał, czy nie, za pomocą jednego If-Then-Else ale tym razem dowiesz się o Wielokrotne If-Then-Else oświadczenia na następującym przykładzie.
Będziemy prowadzić VBA kod do wypełnienia tych Komentarz skrzynki na podstawie wielu warunków.
Kroki:
- W taki sam sposób jak poprzednio, otwórz Edytor Visual Basic od Deweloper zakładka i Wkładka a Moduł w oknie kodu.
- W oknie kodu skopiuj poniższy kod i wklej go.
Sub UpdateComment() For Each grade In Range("D5:D10") If grade = "A" Then grade.Offset(0, 1).Value = "Great Work" Elsef grade = "B" Then grade.Offset(0, 1).Value = "Keep It Up" Elsef grade = "C" Then grade.Offset(0, 1).Value = "Needs Improvement" Else grade.Offset(0, 1).Value = "Parents-Teacher Meeting" End If Next grade EndSub
Twój kod jest teraz gotowy do uruchomienia.
Ten kod będzie drukował komentarze zgodnie z oceną uzyskaną przez studentów.
- Uruchom ten kod i zobacz następujący obraz, w którym pola komentarzy są wypełnione odpowiednimi wynikami.
4. instrukcja If-Then-Else do aktualizacji kierunków kardynalnych na podstawie kodu w Excelu
Można również wykorzystać If-Then-Else aby znaleźć kierunki kardynalne na podstawie podanego kodu wskaźnika. Spójrz na poniższy obrazek, na którym poznamy kierunki na podstawie podanych inicjałów.
Kroki:
- Otwórz Edytor Visual Basic od Deweloper zakładka i Wkładka a Moduł w oknie kodu.
- W oknie kodu skopiuj poniższy kod i wklej go.
Sub UpdateDir() For Each iDirection In Range("B5:B8") If iDirection = "N" Then iDirection.Offset(0, 1).Value = "North" ElseIf iDirection = "S" Then iDirection.Offset(0, 1).Value = "South" ElseIf iDirection = "E" Then iDirection.Offset(0, 1).Value = "East" Else iDirection.Offset(0, 1).Value = "West" End If Next iDirection EndSub
Twój kod jest teraz gotowy do uruchomienia.
- Uruchom ten kod i otrzymasz nazwy kierunków w odpowiednich komórkach.
Lub, jeśli chcesz znaleźć tylko jeden kierunek na podstawie kodu, to możesz użyć poniższego kodu.
Sub UpdateDirections() Dim iDirection As String Dim iDirectionName As String iDirection = Range("B5").Value If iDirection = "N" Then iDirectionName = "North" ElseIf iDirection = "S" Then iDirectionName = "South" ElseIf iDirection = "E" Then iDirectionName = "East" Else iDirectionName = "West" End If Range("C5").Value = iDirectionName End Sub
Ten kod pobierze wartość z komórki B5 i zwraca wynik zgodnie z nim w Cell C5 .
Na przykład, jeśli napiszesz " N " w Komórce B5 to da ci " Północna ; jeśli napiszesz " S " w Komórce B5 , to pokaże ci " Południowa " w Komórce C5 .
Wniosek
Ten artykuł pokazał, jak używać If - Then - Else oświadczenie w Excelu z VBA Mam nadzieję, że ten artykuł był dla Ciebie bardzo korzystny. Czuj się swobodnie, jeśli masz jakieś pytania dotyczące tematu.