VBA Select Case

Excel VBA Select Case Statement

Select Case ist ein Ersatz für das Aufschreiben mehrerer if-Anweisungen in VBA. Wenn wir viele Bedingungen in einem Code haben, müssen wir möglicherweise mehrere If-Anweisungen verwenden. Dies kann mühsam sein, da es komplexer wird, wenn mehr If-Anweisungen bereitgestellt werden Select Case Statement Wir definieren die Kriterien als unterschiedliche Fälle und Ergebnisse gemäß diesen.

SELECT CASE hilft bei der Entscheidungsfindung. Dabei wird nur ein Ausdruck verwendet, um die verschiedenen möglichen Fälle zu bewerten. Mehrere Bedingungen können leicht analysiert werden, um den entwickelten Code auszuführen. Diese case-Anweisung wird als Ersatzanweisung für ELSE IF verwendet, um Ausdrücke zu bewerten. Es wird als logische Funktion klassifiziert, die in Excel integriert ist. Um diese Funktion zu verwenden, wird der Code über den Visual Basic-Editor eingegeben, der auf der Registerkarte Entwickler angezeigt wird.

Erläuterung

Im Auswahlfall werden verschiedene Gruppen von Anweisungen verwendet. Die folgende Syntax sollte befolgt werden, um dies effektiv zu nutzen. Es ähnelt der switch-Anweisung, die in anderen Programmiersprachen wie Java, C # und PHP dargestellt wird.

 Wählen Sie [Fall] Ausdruck zum Testen von [Fall] Liste der Ausdrucksanweisungen (Fall 1, Fall 2, Fall 3 usw.). Andernfalls (sonst Anweisungen) Ende Auswählen 

Die Erklärung für die mit dem ausgewählten Fall verbundenen Begriffe wird wie folgt bereitgestellt

Ein Ausdruck zum Testen: Es ist erforderlich, die verschiedenen Datentypen wie Ganzzahl, Zeichenfolge, Boolescher Wert, Objekt und Zeichen zu bewerten.

Liste der Ausdrücke:  Ausdrücke werden mit dem Fall erstellt, um die genaue Übereinstimmung der eingegebenen Eingabe zu ermitteln. Wenn mehr als zwei Ausdrücke vorhanden sind, werden diese mit dem Kommaoperator getrennt. 'Is' ist ein Schlüsselwort, das beim Vergleichen der beiden Ausdrücke unter Verwendung der logischen Operatoren in Excel wie = ,,, = verwendet wird.

  • End Select: Schließt die Konstruktorauswahlfalldefinition
  • Anweisungen: Anweisungen werden unter Verwendung des Falls entwickelt, um die Ausdrücke auszuführen, die ausgewertet werden, um zu analysieren, ob eine übereinstimmende Anweisung vorhanden ist
  • Sonst Anweisungen : Hiermit wird die else-Anweisung getestet, wenn der Testausdruck nicht mit case-Anweisungen übereinstimmt.

Wie verwende ich die VBA Select Case Statement?

Die vom VBA bereitgestellte Auswahlfallfunktion wird in den normalen Arbeitsblättern nicht ausgeführt. Wir müssen die Option Visual Basic auf der Registerkarte Entwickler verwenden. Benutzerdefinierte Funktionen und Codierungen, die im Entwicklermodus erstellt wurden, um die verschiedenen kleinen Anwendungen im Geschäftsbereich auszuführen.

Es wird in Situationen verwendet, in denen verschachtelte if-Anweisungen in Excel vorhanden sind. Es ist die beste Option, um mit einer Vielzahl von Fallaussagen umzugehen. Um diese Option effektiv zu nutzen, sollten die folgenden Aufgaben ausgeführt werden

  • Zunächst muss ein Makro erstellt werden, indem die Befehlsschaltflächensteuerung in das Excel-Blatt eingefügt wird.
  • Klicken Sie anschließend mit der rechten Maustaste auf die Befehlsschaltfläche und wählen Sie die Option Ansichtscode
  • Platzieren Sie den Code zwischen der Befehlsschaltflächenfunktion und dem End-Sub
  • Debuggen Sie den Code, um Syntaxfehler zu identifizieren.
  • Kompilieren Sie den Code, um Kompilierungsfehler zu finden und das Programm erfolgreich auszuführen
  • Ändern Sie die Eingabewerte, um unterschiedliche Ergebnisse basierend auf den Übereinstimmungskriterien zu beobachten
Sie können diese VBA Select Case Excel-Vorlage hier herunterladen - VBA Select Case Excel-Vorlage

Beispiel 1 - Einfache Select Case-Anweisung

In diesem Beispiel wird der einfache Auswahlfall zum Ermitteln des übereinstimmenden Werts erläutert.

Code:

Private Sub Selcaseexmample () Dim A As Integer A = 20 Fall auswählen A Fall 10 MsgBox "Erster Fall stimmt überein!" Fall 20 MsgBox "Der zweite Fall ist abgestimmt!" Fall 30 MsgBox "Der dritte Fall stimmt mit dem ausgewählten Fall überein!" Fall 40 MsgBox "Der vierte Fall stimmt mit dem ausgewählten Fall überein!" Fall sonst MsgBox "Keiner der Fälle ist übereinstimmend!" Ende Wählen Sie Ende Sub

Ergebnis:

Vier case-Anweisungen und case else-Anweisungen werden verwendet, um den Testausdruck mit verschiedenen Fällen zu vergleichen. Im vorliegenden Beispiel wird der zweite Fall abgeglichen, wenn Variable A mit 20 übereinstimmt.

Beispiel 2 - Schlüsselwort "An" zum Testen der Noten

In diesem Beispiel wird die Verwendung des Schlüsselworts "An" im ausgewählten Fall erläutert.

Code:

Private Sub Selcasetoexample () Schülermarken als Ganzzahl dimmen studentmarks = InputBox ("Markierungen zwischen 1 und 100 eingeben?") Fall auswählen studentmarks Fall 1 bis 36 MsgBox "Fail!" Fall 37 bis 55 MsgBox "C Grade" Fall 56 bis 80 MsgBox "B Grade" Fall 81 bis 100 MsgBox "A Grade" Fall Sonst MsgBox "Außerhalb des Bereichs" Ende Select End Sub

Ergebnis:

Das Schlüsselwort "An" ist hilfreich beim Definieren der Testausdrücke in einem Bereich. Es ist hilfreich, die Note eines Schülers durch Vergleichen der verschiedenen Fälle zu ermitteln. Nach dem Ausführen des Programms müssen wir den Wert eingeben, um das Ergebnis zu erhalten.

Die Ausgabe wird mit einem Meldungsfeld angezeigt, wie im obigen Screenshot gezeigt.

Beispiel 3 - Verwenden des Schlüsselworts "Ist" mit Groß- / Kleinschreibung

Dieses Beispiel zeigt die Verwendung des Schlüsselworts 'Is' für den ausgewählten Fall.

Code:

 Sub CheckNumber () Dim NumInput As Integer NumInput = InputBox ("Bitte geben Sie eine Zahl ein") Select Case NumInput Case Is = 200 MsgBox "Sie haben eine Zahl größer oder gleich 200" End Select End Sub eingegeben 

Das Schlüsselwort 'Is' hilft dabei, die übereinstimmenden Werte nur mit case-Anweisungen zu finden. Es vergleicht den Testausdruck mit der gegebenen Eingabe, um die Ausgabe zu erzeugen.

Die Ausgabe erfolgt wie in der Abbildung gezeigt, wenn der eingegebene Wert mehr als 200 beträgt

Beispiel 4 - Mit der Befehlstaste zum Ändern der Werte

Der Auswahlfall wird auch mit der Befehlsschaltfläche beim Erstellen eines Makros verwendet.

Code:

 Unterfarbe () Farbe dimmen als Zeichenfolge Farbe = Bereich ("A1"). Wert Gehäusefarbe auswählen Fall "Rot", "Grün", "Gelb" Bereich ("B1"). Wert = 1 Fall "Weiß", "Schwarz" "," Brown "-Bereich (" B1 "). Wert = 2 Fall" Blau "," Himmelblau "-Bereich (" B1 "). Wert = 3 Fall sonst Bereich (" B1 "). Wert = 4 End Select End Sub 

Wie im Programm gezeigt, wird die Eingabe aus den Zellen des Arbeitsblatts übernommen. Das Programm wird ausgeführt, nachdem Sie auf die Befehlsschaltfläche der ActiveX-Steuerelemente geklickt haben. In diesem Fall wird ein Komma-Trennzeichen verwendet, um die Testausdrücke zu kombinieren.

Wenn sich der Wert in der Zelle A1 ändert, führt dies zu einer Änderung in der Zelle B1, indem auch das Excel-Makro über die Befehlsschaltfläche ausgeführt wird. Sie können sich auf den folgenden Screenshot beziehen: -

Beispiel 5 - Überprüfen Sie eine ungerade oder gerade Zahl

Dieses Beispiel zur Überprüfung einer Zahl ist gerade oder ungerade.

Code:

 Sub CheckOddEven () CheckValue = InputBox ("Geben Sie die Nummer ein") Select Case (CheckValue Mod 2) = 0 Case True MsgBox "Die Nummer ist gerade" Case False MsgBox "Die Nummer ist ungerade" End Select End Sub 

Die Codierung wird wie im Screenshot gezeigt entwickelt und die Ausgabe wird wie folgt angezeigt, wenn eine gerade Zahl eingegeben wird.

Beispiel 6 - Verschachtelte Select Case-Anweisungen

Das Verschachteln ist eine nützliche Funktion des ausgewählten Falls, und es wird gezeigt, wie es ausgeführt wird.

Code:

 Sub TestWeekday () Fall auswählen Wochentag (jetzt) ​​Fall 1, 7 Fall auswählen Wochentag (jetzt) ​​Fall 1 MsgBox "Heute ist Sonntag" Fall Sonst MsgBox "Heute ist Samstag" Ende Fall auswählen Sonst MsgBox "Heute ist ein Wochentag" Ende Auswahl Ende Sub 

Here the select case is defined inside another select case to test a day, weekday, or weekend. Except case 1 and 7 remaining all are weekdays (Note: case 1 is Sunday and case 7 is Saturday)

Things to Remember

  • The ‘Is’ keyword using in the statement of [case] and [case else] are not equal.
  • ActiveX control should be used in executing program through a command button taking input and displaying output in the excel sheet range of cells.
  • It is hard to run the programs in VBA if macros are disabled and always enable Macros to get best results.
  • VBA is a case sensitive and input should be entered accurately to get better results.