Istruzione Select Case

Esegue uno di più gruppi di istruzioni, a seconda del valore di un'espressione.

Sintassi

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

Argomenti:

  • Testexpression: espressione numerica o stringa.

  • expressionlist-n: obbligatorio se è presente l'istruzione Case. Elenco delimitato da virgole di una o più espressioni.

  • statements-n: una o più istruzioni eseguite se testexpression corrisponde a qualsiasi parte di expressionlist-n.

  • elsestatements-n: una o più istruzioni eseguite se testexpression non corrisponde a una qualsiasi delle clausole Case.

Note

Se testexpression corrisponde a qualsiasi espressione expressionlist della clausola Case, le istruzioni che seguono la clausola Case vengono eseguite fino alla clausola Case successiva o, per l'ultima clausola, fino a End Select. Il controllo passa quindi all'istruzione successiva a End Select. Se testexpression corrisponde a un'espressione expressionlist in più di una clausola Case, vengono eseguite solo le istruzioni successive alla prima corrispondenza.

La clausola Case Else viene utilizzata per indicare gli argomenti elsestatements da eseguire se non viene trovata alcuna corrispondenza tra l'argomento testexpression e un elenco di espressioni in una qualsiasi delle altre selezioni Case. Anche se non è obbligatorio, è consigliabile utilizzare un'istruzione Case Else nel blocco Select Case per gestire valori di testexpression imprevisti. Se nessuna istruzione Case expressionlist trova una corrispondenza per l'argomento testexpression e non sono presenti istruzioni Case Else, l'esecuzione passa all'istruzione successiva a End Select.

Le istruzioni Select Case possono essere nidificate. Ogni istruzione Select Case nidificata deve avere un'istruzione End Select corrispondente.

Nell'esempio seguente viene illustrato l'uso dell'istruzione Select Case.

Esempio 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 )