Obudowa przełącznika VBA - Przykłady użycia instrukcji przełącznika Excel VBA

Obudowa przełącznika Excel VBA

Switch Case lub Select Case to instrukcja dostępna w VBA do przeprowadzania testów logicznych, gdzie działa jako alternatywa dla instrukcji IF-THEN w VBA. Korzystając z przełącznika, możemy przeprowadzić wiele testów logicznych i otrzymać wyniki oparte na wielu wynikach.

Poniżej znajduje się składnia instrukcji Switch Case / Select Case.

Kod:

Wybierz przypadek 1 Wartość, jeśli test przypadku 1 jest PRAWDA Wartość przypadku 2, jeśli test przypadku 2 jest PRAWDA Wartość przypadku 3, jeśli test przypadku 3 jest PRAWDA Wartość przypadku Inaczej, jeśli żaden z powyższych przypadków nie jest PRAWDA Koniec Wybierz

: Jaki jest test logiczny? Musimy wprowadzić test tutaj.

Przypadek 1, Przypadek 2: W każdym przypadku musimy przetestować wiele testów logicznych w programie Excel.

Jak korzystać z instrukcji VBA Switch Case?

Przykład 1

W komórce A1 wpisałem wartość 550.

Przetestujemy ten numer za pomocą instrukcji switch case i otrzymamy status „Więcej niż 500”, jeśli wartość jest większa niż 500, albo otrzymamy stan „Mniej niż 500”.

Najpierw otwórz procedurę VBA Sub.

Kod:

Sub Switch_Case () End Sub

Otwórz instrukcję Select Case w języku VBA i podaj wartość testu logicznego Range („A2”)

Kod:

Sub Switch_Case () Wybierz zakres przypadku ("A2")

Teraz wprowadź pierwszy przypadek, ponieważ Case jest> 500.

Kod:

Sub Switch_Case () Wybierz zakres wielkości liter ("A2"). Przypadek wartości jest> 500 End Sub

Jeśli ten przypadek jest PRAWDA, to jakiego wyniku potrzebujemy w komórce B, 2, tj. „Więcej niż 500”.

Kod:

Sub Switch_Case () Wybierz zakres wielkości liter („A2”). Przypadek wartości jest> 500 zakres („B2”). Wartość = „Więcej niż 500” End Sub

Teraz pozostaje nam tylko jeden wynik, tj. Instrukcja Case Else. Jeśli pierwszy przypadek ma wartość FAŁSZ, wówczas wynik powinien mieć wartość „Mniej niż 500”.

Kod:

Sub Switch_Case () Wybierz zakres wielkości liter („A2”). Przypadek wartości jest> 500 zakres („B2”). Wartość = „Więcej niż 500” W przeciwnym razie zakres („B2”). Wartość = „Mniej niż 500” End Sub

Teraz zamknij instrukcję, używając instrukcji „End Select”.

Kod:

Sub Switch_Case () Wybierz zakres wielkości liter („A2”). Przypadek wartości jest> 500 zakres („B2”). Wartość = „Więcej niż 500” W przeciwnym razie zakres („B2”). Wartość = „Mniej niż 500” Koniec Wybierz Napis końcowy

Uruchom kod, otrzymamy wartość w komórce B2.

Ponieważ wartość w komórce A2 jest większa niż 500, otrzymaliśmy wynik jako „Więcej niż 500”.

Przykład nr 2

Teraz zobaczymy więcej przykładów przypadków. Poniżej znajduje się punktacja ucznia z egzaminu.

Z tym wynikiem musimy dojść do oceny, ponieważ poniżej znajdują się kryteria.

  • Wynik> = 85, Ocena = „Dyst.”
  • Wynik> = 60, Ocena = „Pierwsza”
  • Wynik> = 50, Ocena = „Druga”
  • Wynik> = 35, Ocena = „Zdany”
  • Jeśli cokolwiek innego, ocena = „niepowodzenie”.

Kod:

Sub Switch_Case1 ()

 Dim Score As Integer Score = 65 Select Case Score Case Is> = 85 MsgBox "Dist" Case Is> = 60 MsgBox "First" Case Is> = 50 MsgBox "Second" Case Is> = 35 MsgBox "Pass" Case Else MsgBox " Niepowodzenie „End Wybierz End Sub

Uruchom ten kod. Ocenę otrzymamy w okienku wiadomości.

Since the score is more than 60 but less than 85 grade is “First.”

Example #3

We have seen how to find a grade for one student, what about finding a grade for more than one student. Below are the scores of students.

Since more than one student is involved, we need to enclose FOR NEXT loop in VBA. Below is the VBA code.

Code:

Sub Switch_Case2() Dim k As Integer For k = 2 To 7 Select Case Cells(k, 2).Value Case Is>= 85 Cells(k, 3).Value = "Dist" Case Is>= 60 Cells(k, 3).Value = "First" Case Is>= 50 Cells(k, 3).Value = "Second" Case Is>= 35 Cells(k, 3).Value = "Pass" Case Else Cells(k, 3).Value = "Fail" End Select Next k End Sub

Run this code. We will get grades.

Things to Remember

  • Switch Case is often referred to as “Select Case.”
  • The switch is a function, not a statement.
  • Jeśli żadne testy logiczne nie są PRAWDA, możesz po prostu przekazać alternatywny wynik w instrukcji CASE ELSE i zawsze zamknąć instrukcję słowem „END SELECT”.

Interesujące artykuły...