Obudowa przełącznika VBA - Jak korzystać z instrukcji Case Case w Excel VBA?

Spisie treści:

Anonim

Obudowa przełącznika Excel VBA

W przypadku VBA Switch Case, gdy musimy logicznie sprawdzić lub przeanalizować warunek i wykonać na nim różne wiersze kodów, używamy instrukcji warunkowej IF-Else. Podobnie istnieje jeszcze jedna instrukcja Switch Case, która jest szerzej znana jako instrukcja Select Case, która może sprawdzać lub analizować wiele warunków logicznych i wykonywać na nich wiersze kodu. Jeśli masz trzy lub więcej warunków logicznych do sprawdzenia, zaleca się użycie Select Case lub Switch Case zamiast konwencjonalnej instrukcji IF-Else. Ponieważ dzięki temu kod VBA jest szybszy i bardziej zrozumiały zamiast zagnieżdżonych instrukcji IF-Else w takich przypadkach.

Switch Case / Select Case

Przełącz przypadek lub zaznacz przypadek w VBA działa na podobnych liniach jak w instrukcjach IF-Else. Sprawdza wiele wyrażeń logicznych / warunkowych względem różnych wartości (przypadków). Gdy tylko jakikolwiek przypadek spełni warunek (stanie się prawdziwy dla danego warunku), system wykonuje ten przypadek, a pozostałe przypadki są ignorowane w celu wykonania. W przypadku, gdy istnieją dwa przypadki, które są prawdziwe dla danego warunku, tylko pierwszy zostanie wykonany z prawem pierwszeństwa.

Składnia instrukcji Case Case / Select Case wygląda następująco:

Select Case
Case value_1
Code to Execute when Expression = value_1
Case value_2
Code to Execute when Expression = value_2
Case value_3
Code to Execute when Expression = value_3
.
.
.
Case value_n
Code to Execute when Expression = value_n
Case Else
Code to Execute when no case value meets the expression/logical test.
End Select

Gdzie,

Wyrażenie: jest to wyrażenie, dla którego chcieliśmy sprawdzić lub przeanalizować przy użyciu różnych wartości wielkości liter.

wartość_1, wartość_2, wartość_3, … to warunki logiczne, które należy sprawdzić dla danego wyrażenia.

Jak korzystać z instrukcji Case Case w programie Excel VBA?

Dowiemy się, jak korzystać z instrukcji Case Case w programie Excel za pomocą kodu VBA.

Możesz pobrać ten szablon Excel Case Case VBA tutaj - Szablon Excel Case Case VBA

Obudowa przełącznika VBA - przykład nr 1

Sprawdzimy, czy podana liczba jest mniejsza niż 100 czy więcej niż 100. W tym celu wykonaj następujące czynności:

Krok 1: Wstaw nowy moduł do Visual Basic Editor (VBE). Kliknij kartę Wstaw > wybierz Moduł.

Krok 2: Zdefiniuj nową podprocedurę we wstawionym module, która może przechowywać twoje makro.

Kod:

 Sub switch_case_example1 () End Sub 

Krok 3: Zdefiniuj nową zmienną o nazwie usrInpt, która może przechowywać wartość użytkownika. Skorzystaj z funkcji InputBox VBA, aby utworzyć pole wprowadzania, które przyjmuje wartości użytkownika poprzez zmienną usrInpt .

Kod:

 Sub switch_case_example1 () Dim usrInpt As Integer usrInpt = InputBox („Proszę podać swoją wartość”) End Sub 

Krok 4: Użyj instrukcji Select Case i podaj wartość podaną przez użytkownika poprzez zmienną usrInpt . To wyrażenie musimy sprawdzić w warunkach logicznych.

Kod:

 Sub switch_case_example1 () Dim usrInpt As Integer usrInpt = InputBox („Proszę podać swoją wartość”) Wybierz Case usrInpt End Sub 

Krok 5: Wprowadź pierwszy test logiczny, który ma zostać sprawdzony w instrukcji Case w następujący sposób.

Kod:

 Sub switch_case_example1 () Dim usrInpt As Integer usrInpt = InputBox („Proszę podać swoją wartość”) Wybierz Case usrInpt Case Is <100 End Sub 

Krok 6: Użyj funkcji MsgBox, aby dodać komunikat wyjściowy, jeśli wielkość liter <100 jest prawdą.

Kod:

 Sub switch_case_example1 () Dim usrInpt As Integer usrInpt = InputBox („Proszę podać swoją wartość”) Wybierz Case usrInpt Case Is <100 MsgBox ”Podana liczba jest mniejsza niż 100” End Sub 


Krok 7: Teraz musimy podać instrukcję wykonywalną, gdy wartość usrInpt jest większa niż 100. Aby to osiągnąć, dodaj Case i MsgBox.

Kod:

 Sub switch_case_example1 () Dim usrInpt As Integer usrInpt = InputBox („Proszę podać swoją wartość”) Wybierz Case usrInpt Case Is 100 MsgBox ”Podana liczba jest większa niż 100” End Sub 

Krok 8: Co jeśli wartość podana przez użytkownika to dokładnie 100? Nie dodano do tego sprawy. Dodajmy ten, który daje użytkownikowi komunikat, że wprowadzona wartość to 100.

Kod:

 Sub switch_case_example1 () Dim usrInpt As Integer usrInpt = InputBox („Proszę podać swoją wartość”) Wybierz Case usrInpt Case Is 100 MsgBox ”Podana liczba jest większa niż 100„ Case Is = 100 MsgBox ”Podana liczba to 100„ End Sub 

Krok 9: Musimy zakończyć instrukcję Select Case. Użyj End Select, aby zakończyć utworzoną pętlę.

Kod:

 Sub switch_case_example1 () Dim usrInpt As Integer usrInpt = InputBox („Proszę podać swoją wartość”) Wybierz Case usrInpt Case Is 100 MsgBox ”Podana liczba jest większa niż 100„ Case Is = 100 MsgBox ”Podana liczba to 100„ End Select End Pod 

Krok 10: Teraz uruchom ten kod, naciskając przycisk Uruchom lub F5. Pojawi się nowe okno podręczne z prośbą o sprawdzenie wartości. Wprowadzę wartość jako 110 i naciśnij przycisk OK w polu wprowadzania. Ponieważ liczba, którą wpisuję, jest większa niż 100, jak tylko kliknę OK, na ekranie pojawi się nowa wiadomość z informacją: „Podana liczba jest większa niż 100”.

Obudowa przełącznika VBA - przykład 2

Załóżmy, że chcemy uchwycić ocenę uczniów na podstawie ich ocen. Zobacz, jak możemy to osiągnąć.

Krok 1: Zdefiniuj nową podprocedurę o nazwie przełącznik_przykład_przykład2 .

Kod:

 Sub switch_case_example2 () End Sub 

Krok 2: Zdefiniuj dwie nowe zmienne - znaczniki jako liczby całkowite i stopnie jako ciąg przy użyciu instrukcji Dim w utworzonej podprocedurze.

Kod:

 Sub switch_case_example2 () Dim marks As Integer Dim grades As String End Sub 

Krok 3: Użyj funkcji VBA InputBox, za pomocą której użytkownik może wprowadzić wartość znaczników zmiennych.

Kod:

 Sub switch_case_example2 () Dim marks As Integer Dim grades As String marks = InputBox („Please enter the marks”) End Sub 

Krok 4: Użyj instrukcji Select Case i podaj znaczniki zmiennych jako wyrażenie do sprawdzenia.

Kod:

 Sub switch_case_example2 () Dim marks As Integer Dim grad As As String marks = InputBox („Please enter the marks”) Wybierz znaczniki liter End Sub 

Ponieważ chcemy przypisywać oceny uczniom na podstawie ocen, które wprowadzają, musimy najpierw zdefiniować oceny.

Krok 5: Użyj instrukcji case, aby sprawdzić, czy oceny są mniejsze niż 35. Jeśli tak, przypisz wartość „F” do ocen zmiennych.

Kod:

 Sub switch_case_example2 () Dim marks As Integer Dim grad As As String marks = InputBox („Please enter the marks”) Wybierz Oznaczenie liter Wielkość liter <35 stopni = „F” End Sub 

Krok 6: Jeśli oceny wynoszą od 35 do 45, przypisz wartość „D” do ocen zmiennych.

Kod:

 Sub switch_case_example2 () Dim marks As Integer Dim grad As As String marks = InputBox („Please enter the marks”) Wybierz Znaczniki znaków Case Is <35 stopni = „F” Case 35 To 45 grades = „D” End Sub 

Krok 7: Jeśli wprowadzone znaki wynoszą od 46 do 55, wartość „C” powinna zostać przypisana do zmiennych stopni.

Kod:

 Sub switch_case_example2 () Dim marks As Integer Dim grad As As String marks = InputBox („Please enter the marks”) Wybierz Znaczniki Case Case <35 stopni = „F” Case 35 To 45 stopni = „D” Case 46 To 55 stopni = „C” End Sub 

Krok 8: Gdy oceny mieszczą się w zakresie od 56 do 65, wartość przypisana do ocen zmiennych powinna wynosić „B”.

Kod:

 Sub switch_case_example2 () Dim marks As Integer Dim grad As As String marks = InputBox („Please enter the marks”) Wybierz Znaczniki Case Case <35 stopni = „F” Case 35 To 45 stopni = „D” Case 46 To 55 stopni = „C” Przypadek 56 do 65 stopni = „B” End Sub 

Krok 9: W przypadku ocen od 66 do 75 ocena powinna wynosić „A”.

Kod:

 Sub switch_case_example2 () Dim marks As Integer Dim grad As As String marks = InputBox („Please enter the marks”) Wybierz Znaczniki Case Case <35 stopni = „F” Case 35 To 45 stopni = „D” Case 46 To 55 stopni = „C” Przypadek 56 do 65 stopni = „B” Przypadek 66 do 75 stopni = „A” End Sub 

Krok 10: Jeśli wprowadzone znaki są większe niż 75, zmiennej ocen należy przypisać wartość „A +”

Kod:

 Sub switch_case_example2 () Dim marks As Integer Dim grad As As String marks = InputBox („Please enter the marks”) Wybierz Oznacz wielkość liter Case Is 75 grades = „A +” End Sub 

Krok 11: Użyj End Wybierz i zamknij pętlę Select Case.

Kod:

 Sub switch_case_example2 () Dim marks As Integer Dim grad As As String marks = InputBox („Please enter the marks”) Wybierz Oznacz wielkość liter Case Is 75 stopni = „A +” End Wybierz End Sub 

Krok 12: Teraz musimy sprawdzić, jaka ocena jest powiązana z ocenami wprowadzonymi przez studenta. Aby to osiągnąć, użyj funkcji MsgBox w taki sposób, że oznacza ona osiągnięte oceny w oknie komunikatu.

Kod:

 Sub switch_case_example2 () Dim marks As Integer Dim grad As As String marks = InputBox („Please enter the marks”) Wybierz Case case Case Is 75 grades = "A +" End Select MsgBox "Stopień osiągnięty to:" & grad End End Sub 

Krok 13: Uruchom ten kod, naciskając klawisz F5 lub Run, a zobaczysz pole wprowadzania VBA z prośbą o wartość znaku. Wprowadzę znaki jako 72 i uderzę w przycisk OK znajdujący się w polu wprowadzania. Jak tylko kliknę przycisk OK w polu wprowadzania, otrzymam okno komunikatu z ocenami związanymi z wprowadzonymi znakami.

W ten sposób możemy użyć instrukcji Switch / Select Case w VBA.

Rzeczy do zapamiętania

  • Wielkość liter jest właściwie synonimem instrukcji Select Case w VBA. Zostało to nazwane tak, ponieważ za pomocą tego oświadczenia możemy przełączać się między różnymi wyjściami w tym samym czasie.
  • Ta instrukcja może być używana jako alternatywa dla pętli IF-Else, ilekroć mamy trzy lub więcej warunków do sprawdzenia.
  • Jest OK, jeśli nie używasz ELSE Case w instrukcji Select Case. Jednak w takim przypadku musisz upewnić się, że co najmniej jeden warunek jest spełniony w całej pętli.

Polecane artykuły

Jest to przewodnik po obudowie przełącznika VBA. Tutaj omawiamy, jak korzystać z instrukcji Case Case w Excel VBA wraz z praktycznymi przykładami i szablonem Excel do pobrania. Możesz także przejrzeć nasze inne sugerowane artykuły -

  1. Kolekcja VBA (przykłady)
  2. Instrukcje VBA IF | Szablony programu Excel
  3. Jak korzystać z funkcji sortowania Excel VBA?
  4. VBA While Loop (przykłady z szablonem Excel)
  5. VBA Environ