VBA-Schaltergehäuse - Beispiele für die Verwendung der Excel VBA-Switch-Anweisung

Inhaltsverzeichnis

Excel VBA Switch Case

Switch Case oder Select Case ist eine in VBA verfügbare Anweisung, um logische Tests durchzuführen, bei denen sie als Alternative zur IF-THEN-Anweisung in VBA funktioniert. Mit einem Switch Case können wir mehrere logische Tests durchführen und Ergebnisse basierend auf mehreren Ergebnissen erhalten.

Unten finden Sie die Syntax der Anweisung Switch Case / Select Case.

Code:

Wählen Sie Fall-Fall-1-Wert aus, wenn Fall-1-Test WAHR ist. Fall-2-Wert, wenn Fall-2-Test WAHR ist. Fall-3-Wert, wenn Fall-3-Test WAHR ist

: Was ist der logische Test? Wir müssen hier den Test eingeben.

Fall 1, Fall 2: In jedem Fall müssen wir mehrere logische Tests in Excel testen.

Wie verwende ich die VBA Switch Case Statement?

Beispiel 1

In Zelle A1 habe ich den Wert als 550 eingegeben.

Wir werden diese Nummer mit switch case-Anweisungen testen und den Status "Mehr als 500" erhalten, wenn der Wert mehr als 500 beträgt, oder wir werden den Status "Weniger als 500" erhalten.

Öffnen Sie zuerst die VBA-Subprozedur.

Code:

Sub Switch_Case () End Sub

Öffnen Sie Select Case Statement in VBA und geben Sie den Wert für den logischen Testbereich („A2“) an

Code:

Sub Switch_Case () Wählen Sie den Fallbereich ("A2"). Value End Sub

Geben Sie nun den ersten Fall als Fall> 500 ein.

Code:

Sub Switch_Case () Wählen Sie den Fallbereich ("A2"). Der Wert Case ist> 500 End Sub

Wenn dieser Fall WAHR ist, was ist dann das Ergebnis, das wir in Zelle B, 2 benötigen, dh "Mehr als 500".

Code:

Sub Switch_Case () Wählen Sie den Fallbereich ("A2"). Wert Fall ist> 500 Bereich ("B2"). Wert = "Mehr als 500" End Sub

Jetzt bleibt uns nur ein Ergebnis, nämlich die Case-Else-Aussage. Wenn der erste Fall FALSE ist, benötigen wir das Ergebnis als "Weniger als 500".

Code:

Sub Switch_Case () Wählen Sie den Fallbereich ("A2"). Wert Fall ist> 500 Bereich ("B2"). Wert = "Mehr als 500" Fall sonst Bereich ("B2"). Wert = "Weniger als 500" End Sub

Schließen Sie nun die Anweisung mit der Anweisung „End Select“.

Code:

Sub Switch_Case () Fallbereich auswählen ("A2"). Wert Fall ist> 500 Bereich ("B2"). Wert = "Mehr als 500" Fall sonst Bereich ("B2"). Wert = "Weniger als 500" Endauswahl End Sub

Führen Sie den Code aus, wir erhalten den Wert in Zelle B2.

Da der Wert in Zelle A2 größer als 500 ist, haben wir das Ergebnis als "Mehr als 500" erhalten.

Beispiel 2

Jetzt werden wir anhand weiterer Fallbeispiele sehen. Unten ist die Punktzahl des Studenten in der Prüfung.

Mit dieser Punktzahl müssen wir zur Note gelangen, denn das unten ist das Kriterium.

  • Punktzahl> = 85, Note = "Dist"
  • Punktzahl> = 60, Note = "Erste"
  • Punktzahl> = 50, Note = "Zweiter"
  • Punktzahl> = 35, Note = „Bestanden“
  • Wenn überhaupt, ist Grade = "Fail".

Code:

Sub Switch_Case1 ()

 Dim Score As Integer Score = 65 Fallbewertung auswählen Fall ist> = 85 MsgBox "Dist" Fall ist> = 60 MsgBox "Erster" Fall ist> = 50 MsgBox "Zweiter" Fall ist> = 35 MsgBox "Pass" Fall Sonst MsgBox " Fail "End Select End Sub

Führen Sie diesen Code aus. Wir erhalten die Note im Nachrichtenfeld.

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.
  • Wenn keine logischen Tests WAHR sind, können Sie das alternative Ergebnis einfach in der Anweisung CASE ELSE übergeben und die Anweisung immer mit dem Wort „END SELECT“ schließen.

Interessante Beiträge...