VBA-Schaltergehäuse - Wie Verwenden von Switch Case Statement in Excel VBA?

Inhaltsverzeichnis:

Anonim

Excel VBA Schaltergehäuse

In VBA Switch Case verwenden wir die bedingte IF-Else-Anweisung, wenn wir eine Bedingung logisch prüfen oder analysieren und die verschiedenen Codezeilen basierend auf derselben ausführen müssen. Ebenso gibt es eine weitere Anweisung Switch Case, die allgemein als Select Case-Anweisung bekannt ist und die mehrere logische Bedingungen prüfen oder analysieren und die darauf basierenden Codezeilen ausführen kann. Wenn Sie drei oder mehr logische Bedingungen prüfen müssen, wird empfohlen, Select Case oder Switch Case anstelle einer herkömmlichen IF-Else-Anweisung zu verwenden. Denn in solchen Fällen wird der VBA-Code schneller und verständlicher als verschachtelte IF-Else-Anweisungen.

Fall wechseln / Fall auswählen

Groß- / Kleinschreibung wechseln oder Groß- / Kleinschreibung auswählen in VBA funktioniert in ähnlichen Zeilen wie bei IF-Else-Anweisungen. Es prüft die mehreren logischen / bedingten Ausdrücke gegen verschiedene Werte (Fälle). Sobald einer der Fälle mit der Bedingung übereinstimmt (für die gegebene Bedingung wahr wird), führt das System diesen Fall aus und alle anderen Fälle werden bei der Ausführung ignoriert. Falls es zwei Fälle gibt, die für die gegebene Bedingung zutreffen, wird nur der erste mit dem Vorranggesetz ausgeführt.

Die Syntax für Switch Case / Select Case lautet wie folgt:

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

Wo,

Ausdruck: Dies ist ein Ausdruck, für den wir verschiedene Fallwerte prüfen oder analysieren wollten.

value_1, value_2, value_3, … sind die logischen Bedingungen, die für den angegebenen Ausdruck geprüft werden müssen.

Wie verwende ich die Switch-Case-Anweisung in Excel VBA?

Wir werden lernen, wie die Switch Case-Anweisung in Excel unter Verwendung des VBA-Codes verwendet wird.

Sie können diese Excel-Vorlage für VBA-Switches hier herunterladen - Excel-Vorlage für VBA-Switches

VBA-Schaltergehäuse - Beispiel 1

Wir werden prüfen, ob die angegebene Anzahl kleiner als 100 oder größer als 100 ist. Führen Sie dazu die folgenden Schritte aus:

Schritt 1: Fügen Sie ein neues Modul in Visual Basic Editor (VBE) ein. Klicken Sie auf die Registerkarte Einfügen und wählen Sie Modul.

Schritt 2: Definieren Sie eine neue Unterprozedur innerhalb des eingefügten Moduls, die Ihr Makro enthalten kann.

Code:

 Sub switch_case_example1 () End Sub 

Schritt 3: Definieren Sie eine neue Variable mit dem Namen usrInpt, die den Benutzerwert enthalten kann. Verwenden Sie die VBA InputBox- Funktion, um ein Eingabefeld zu erstellen, das Benutzerwerte über die Variable usrInpt akzeptiert .

Code:

 Sub switch_case_example1 () Dim usrInpt As Integer usrInpt = InputBox ("Bitte geben Sie Ihren Wert ein") End Sub 

Schritt 4: Verwenden Sie die Select Case- Anweisung und geben Sie den vom Benutzer über die Variable usrInpt bereitgestellten Wert ein. Dies ist der Ausdruck, den wir mit logischen Bedingungen überprüfen müssen.

Code:

 Sub switch_case_example1 () usrInpt als Ganzzahl dimmen usrInpt = InputBox ("Bitte geben Sie Ihren Wert ein") Wählen Sie Case usrInpt End Sub 

Schritt 5: Geben Sie den ersten zu prüfenden logischen Test unter der Case-Anweisung wie folgt ein.

Code:

 Sub switch_case_example1 () usrInpt als Ganzzahl dimmen usrInpt = InputBox ("Bitte geben Sie Ihren Wert ein") Select Case usrInpt Case Is <100 End Sub 

Schritt 6: Verwenden Sie die MsgBox-Funktion, um eine Ausgabenachricht hinzuzufügen, wenn der Fall <100 ist.

Code:

 Sub switch_case_example1 () usrInpt als Ganzzahl dimmen usrInpt = InputBox ("Bitte geben Sie Ihren Wert ein") Select Case usrInpt Case Is <100 MsgBox "Die angegebene Zahl ist kleiner als 100" End Sub 


Schritt 7: Jetzt müssen wir eine ausführbare Anweisung bereitstellen, wenn der Wert für usrInpt größer als 100 ist. Fügen Sie einen Fall und MsgBox hinzu, um dies zu erreichen.

Code:

 Sub switch_case_example1 () Dim usrInpt As Integer usrInpt = InputBox ("Bitte geben Sie Ihren Wert ein") Select Case usrInpt Case Is 100 MsgBox "Die angegebene Zahl ist größer als 100" End Sub 

Schritt 8: Was ist, wenn der vom Benutzer angegebene Wert genau 100 ist? Wir haben keine Argumente hinzugefügt. Fügen wir den hinzu, der dem Benutzer mitteilt, dass der von ihm eingegebene Wert 100 ist.

Code:

 Sub switch_case_example1 () Dim usrInpt As Integer usrInpt = InputBox ("Bitte geben Sie Ihren Wert ein") Select Case usrInpt Case Is 100 MsgBox "Die angegebene Zahl ist größer als 100" Case Is = 100 MsgBox "Die angegebene Zahl ist 100" End Sub 

Schritt 9: Wir müssen die Select Case-Anweisung beenden. Verwenden Sie End Select, um die erstellte Schleife zu beenden.

Code:

 Sub switch_case_example1 () Dim usrInpt As Integer usrInpt = InputBox ("Bitte geben Sie Ihren Wert ein") Select Case usrInpt Case Is 100 MsgBox "Die angegebene Zahl ist größer als 100" Case Is = 100 MsgBox "Die angegebene Zahl ist 100" End Select End Sub 

Schritt 10: Führen Sie nun diesen Code aus, indem Sie die Schaltfläche Ausführen oder F5 drücken. Es erscheint ein neues Popup-Fenster, in dem Sie gefragt werden, ob der Wert überprüft werden soll. Ich gebe einen Wert als 110 ein und drücke die OK-Taste im Eingabefeld. Da die von mir eingegebene Zahl größer als 100 ist, wird auf meinem Bildschirm eine neue Meldung angezeigt, die besagt, dass die angegebene Zahl größer als 100 ist.

VBA-Schaltergehäuse - Beispiel 2

Angenommen, wir möchten die Note der Schüler anhand ihrer Noten erfassen. Lesen Sie die folgenden Schritte, um dies zu erreichen.

Schritt 1: Definieren Sie eine neue Unterprozedur mit dem Namen switch_case_example2 .

Code:

 Sub switch_case_example2 () End Sub 

Schritt 2: Definieren Sie zwei neue Variablen - Markierungen als Ganzzahl und Noten als Zeichenfolge mithilfe der Dim-Anweisung in der erstellten Unterprozedur.

Code:

 Sub switch_case_example2 () Dim Marken As Integer Dim Noten As String End Sub 

Schritt 3: Verwenden Sie die VBA InputBox-Funktion, über die der Benutzer den Wert für die Variablenmarken eingeben kann.

Code:

 Sub switch_case_example2 () Dim Marken As Integer Dim Noten As String Marken = InputBox ("Bitte geben Sie die Marken ein") End Sub 

Schritt 4: Verwenden Sie die Select Case- Anweisung und geben Sie die Variablenmarkierungen als zu überprüfenden Ausdruck an.

Code:

 Sub switch_case_example2 () Dim Marken As Integer Dim Noten As String Marken = InputBox ("Bitte geben Sie die Noten ein") Wählen Sie Case Marken End Sub 

Da wir den Schülern die Noten anhand der von ihnen eingegebenen Noten zuweisen möchten, müssen wir zuerst die Noten definieren.

Schritt 5: Überprüfen Sie anhand der case-Anweisung, ob die Noten kleiner als 35 sind. Wenn ja, weisen Sie den variablen Noten den Wert „F“ zu.

Code:

 Sub switch_case_example2 () Dim-Marken als Ganzzahl Dim-Noten als String-Marken = InputBox ("Bitte geben Sie die Noten ein") Select Case-Marken Case Is <35 grades = "F" End Sub 

Schritt 6: Wenn die Noten zwischen 35 und 45 liegen, weisen Sie den variablen Noten den Wert „D“ zu.

Code:

 Sub switch_case_example2 () Dim-Marken als Ganzzahl Dim-Noten als String-Marken = InputBox ("Bitte geben Sie die Noten ein") Select Case-Marken Case Is <35 Noten = "F" Case 35 To 45 Noten = "D" End Sub 

Schritt 7: Wenn die eingegebenen Noten zwischen 46 und 55 liegen, sollte der Wert „C“ variablen Noten zugewiesen werden.

Code:

 Sub switch_case_example2 () Dim-Marken als Ganzzahl Dim-Noten als String-Marken = InputBox ("Bitte geben Sie die Noten ein") Select Case-Marken Case Is <35 Noten = "F" Case 35 bis 45 Noten = "D" Case 46 bis 55 Noten = "C" End Sub 

Schritt 8: Wenn die Noten im Bereich von 56 bis 65 liegen, sollte der den variablen Noten zugewiesene Wert "B" sein.

Code:

 Sub switch_case_example2 () Dim-Marken als Ganzzahl Dim-Noten als String-Marken = InputBox ("Bitte geben Sie die Noten ein") Select Case-Marken Case Is <35 Noten = "F" Case 35 bis 45 Noten = "D" Case 46 bis 55 Noten = "C" Fall 56 bis 65 Grade = "B" End Sub 

Schritt 9: Für Noten zwischen 66 und 75 sollte die Note „A“ sein.

Code:

 Sub switch_case_example2 () Dim-Marken als Ganzzahl Dim-Noten als String-Marken = InputBox ("Bitte geben Sie die Noten ein") Select Case-Marken Case Is <35 Noten = "F" Case 35 bis 45 Noten = "D" Case 46 bis 55 Noten = "C" Fall 56 bis 65 Noten = "B" Fall 66 bis 75 Noten = "A" End Sub 

Schritt 10: Wenn die eingegebenen Noten größer als 75 sind, sollte der Notenvariablen ein Wert als „A +“ zugewiesen werden.

Code:

 Sub switch_case_example2 () Dim-Marken als Ganzzahl Dim-Noten als String-Marken = InputBox ("Bitte geben Sie die Noten ein") Select Case-Marken Case Is 75-Noten = "A +" End Sub 

Schritt 11: Use End Select schließen Sie die Select Case-Schleife.

Code:

 Sub switch_case_example2 () Dim-Marken als Ganzzahl Dim-Noten als String-Marken = InputBox ("Bitte geben Sie die Noten ein") Select Case-Marken Case Is 75-Noten = "A +" End Select End Sub 

Schritt 12: Nun müssen wir überprüfen, welche Note mit den von einem Schüler eingegebenen Noten verbunden ist. Verwenden Sie dazu die Funktion MsgBox so, dass sie die erreichten Noten in einem Meldungsfeld angibt.

Code:

 Sub switch_case_example2 () Dim-Noten als Ganzzahl Dim-Noten als String-Noten = InputBox ("Bitte geben Sie die Noten ein") Select Case-Noten Case Is 75-Noten = "A +" End Select MsgBox "Note erreicht ist:" & Noten End Sub 

Schritt 13: Führen Sie diesen Code durch Drücken der Taste F5 oder Ausführen aus, und Sie sehen ein VBA-Eingabefeld, in dem Sie nach einem Markierungswert gefragt werden. Ich gebe die Marke als 72 ein und drücke die OK-Taste im Eingabefeld. Sobald ich die OK-Taste im Eingabefeld drücke, erhalte ich ein Meldungsfeld mit den Noten der eingegebenen Noten.

Auf diese Weise können wir die Switch / Select Case-Anweisung in VBA verwenden.

Dinge, an die man sich erinnern sollte

  • Groß- und Kleinschreibung wechseln ist in VBA ein Synonym für Select Case-Anweisung. Es wurde so genannt, weil wir mit Hilfe dieser Anweisung gleichzeitig zwischen den verschiedenen Ausgängen wechseln können.
  • Diese Anweisung kann als Alternative zur IF-Else-Schleife verwendet werden, wenn drei oder mehr Bedingungen zu prüfen sind.
  • Es ist in Ordnung, wenn Sie ELSE Case in der Select Case-Anweisung nicht verwenden. In diesem Fall müssen Sie jedoch sicherstellen, dass während der gesamten Schleife mindestens eine Bedingung erfüllt ist.

Empfohlene Artikel

Dies ist eine Anleitung zum VBA-Switch-Gehäuse. Hier wird die Verwendung der Switch-Case-Anweisung in Excel VBA zusammen mit praktischen Beispielen und einer herunterladbaren Excel-Vorlage erläutert. Sie können auch unsere anderen Artikelvorschläge durchgehen -

  1. VBA Collection (Beispiele)
  2. VBA-IF-Anweisungen | Excel-Vorlagen
  3. Wie verwende ich die Excel VBA-Sortierfunktion?
  4. VBA While-Schleife (Beispiele mit Excel-Vorlage)
  5. VBA Environ