Wie verwende ich Select Case Statement in VBA? (Beispiele)

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 visuellen Basiseditor 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.

Select (Case) Ausdruck zum Testen (Case) Liste der Ausdrucksanweisungen (Fall 1, Fall 2, Fall 3 usw.) Fall Sonst (Sonst Anweisungen) Ende Auswahl

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 Funktion für ausgewählte Fälle 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 werden im Entwicklermodus erstellt, 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, sich mit einer Vielzahl von Fallaussagen zu befassen. Um diese Option effektiv zu nutzen, sollten die folgenden Aufgaben ausgeführt werden.

  • Zunächst muss ein Makro erstellt werden, indem das Befehlsschaltflächensteuerelement in die Excel-Tabelle 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

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.

The output is obtained as shown in the figure if the entered value is more than 200

Example #4 - With Command Button to Change the Values

The select case is also used with the Command button by creating a macro.

Code:

Sub color() Dim color As String color = Range("A1").Value Select Case color Case "Red", "Green", "Yellow" Range("B1").Value = 1 Case "White", "Black", "Brown" Range("B1").Value = 2 Case "Blue", "Sky Blue" Range("B1").Value = 3 Case Else Range("B1").Value = 4 End Select End Sub

As shown in the program, the input is taken from the cells of the worksheet. The program is executed after clicking on the command button used from ActiveX controls. In this, a comma separator is used to combine the test expressions.

When the value in the Cell A1 changed, it results in a change in the B1 cell also by running the excel macro through the command button. You can refer to the screenshot given below:-

Example #5 - Check a Number Odd or Even

This example to help to check a number is even or odd.

Code:

Sub CheckOddEven() CheckValue = InputBox("Enter the Number") Select Case (CheckValue Mod 2) = 0 Case True MsgBox "The number is even" Case False MsgBox "The number is odd" End Select End Sub

The coding is developed, as shown in the screenshot, and output is displayed as follows when even the number is entered.

Example #6 - Nested Select Case Statements

Nesting is a useful feature of the select case, and the way how it is done is shown.

Code:

Sub TestWeekday() Select Case Weekday(Now) Case 1, 7 Select Case Weekday(Now) Case 1 MsgBox "Today is Sunday" Case Else MsgBox "Today is Saturday" End Select Case Else MsgBox "Today is a Weekday" End Select End Sub

Here the select case is defined inside another select case to test a day, weekday, or weekend. Except for 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 the best results.
  • Bei VBA wird zwischen Groß- und Kleinschreibung unterschieden, und die Eingabe sollte genau eingegeben werden, um bessere Ergebnisse zu erzielen.

Interessante Beiträge...