"Select Case"-Anweisung

Führt je nach Wert eines Ausdrucks eine von mehreren Anweisungsgruppen aus.

Syntax

Select Case testexpression
   [Case expressionlist-n
      [statements-n]] . . .
   [Case Else
      [elsestatements-n]]
End Select
        

Argumente:

  • Testexpression: Numerischer oder Zeichenfolgenausdruck.

  • expressionlist-n: Erforderlich, wenn "Case" vorkommt. Eine durch Komma getrennte Liste mit mindestens einem Ausdruck.

  • statements-n: Mindestens eine Anweisung, die ausgeführt wird, wenn "testexpression" mit einem beliebigen Teil von "expressionlist-n" übereinstimmt.

  • elsestatements-n: Mindestens eine Anweisung, die ausgeführt wird, wenn "testexpression" mit keiner der Case-Klauseln übereinstimmt.

Anmerkungen

Wenn "testexpression" mit einem "Case expressionlist"-Ausdruck übereinstimmt, werden die Anweisungen nach dieser Case-Klausel bis zur nächsten Case-Klausel oder (bei der letzten Klausel) bis zu "End Select" ausgeführt. Die Kontrolle wird anschließend an die Anweisung nach "End Select" übergeben. Wenn "testexpression" mit einem expressionlist-Ausdruck in mehreren Case-Klauseln übereinstimmt, werden nur die Anweisungen ausgeführt, die auf die erste Übereinstimmung folgen.

Die "Case Else"-Klausel gibt die elsestatements an, die ausgeführt werden sollen, wenn keine Übereinstimmung zwischen "testexpression" und "expressionlist" in einer der anderen Case-Auswahlen gefunden wird. Auch wenn das nicht erforderlich ist, sollten Sie in Ihrem "Select Case"-Block eine "Case Else"-Anweisung verwenden, um unvorhergesehene testexpression-Werte zu verarbeiten. Wenn keine "Case expressionlist" mit "testexpression" übereinstimmt und keine "Case Else"-Anweisung vorhanden ist, wird die Ausführung bei der Anweisung nach "End Select" fortgesetzt.

"Select Case"-Anweisungen können verschachtelt werden. Jede verschachtelte "Select Case"-Anweisung muss eine übereinstimmende "End Select"-Anweisung aufweisen.

Das folgende Beispiel veranschaulicht die Verwendung der "Select Case"-Anweisung.

Beispiel 1:

Dim dayOfWeek
Dim result
' Assign the day of the week (can be any number between 1 and 7)
dayOfWeek = 3 ' 1 = Sunday, 2 = Monday, ..., 7 = Saturday
' Use Select Case to check the value of dayOfWeek
Select Case dayOfWeek
    Case 1
        result = "Sunday"
    Case 2
        result = "Monday"
    Case 3
        result = "Tuesday"
    Case 4
        result = "Wednesday"
    Case 5
        result = "Thursday"
    Case 6
        result = "Friday"
    Case 7
        result = "Saturday"
    Case Else
        result = "Invalid day"
End Select
' Now, result will contain the name of the day corresponding to dayOfWeek ( Tuesday in this case )