Instrucción Select Case

Office 2013 and later

Ejecuta uno de los distintos grupos de instrucciones, según el valor de una expresión.

Sintaxis

Select Case expresiónPrueba
[Case listaExpresión-n
[instrucciones-n]]
[Case Else
[instruccionesElse]]

End Select

La instrucción Select Case tiene estas partes:

Parte

Descripción

expresiónPrueba

Requerido. Cualquier expresión numérica o expresión de cadena.

listaExpresión-n

Requerido si aparece Case. Lista delimitada de una o más de las siguientes formas: expresión, expresión To expresión, Is operadorDeComparación expresión. La palabra clave To https://msdn.microsoft.com/es-es/library/office/gg264568.aspxespecifica un intervalo de valores. Si usa la palabra clave To, el valor más pequeño debe aparecer antes de To. Use la palabra clave Is con operadores de comparación (excepto Is y Like) para especificar un intervalo de valores. Si no se proporciona, la palabra clave Is se inserta automáticamente.

instrucciones-n

Opcional. Una o más instrucciones ejecutadas si expresiónPrueba coincide con cualquier parte de listaExpresión-n.

instruccionesElse

Opcional. Una o más instrucciones ejecutadas si expresiónPrueba no coincide con la cláusula Case.

Comentarios

Si expresiónPrueba coincide con una expresión Case listaExpresión, las instrucciones que siguen a la cláusula Case se ejecutan hasta la siguiente cláusula Case o, en la última cláusula, hasta End Select. El control pasa a continuación a la instrucción que sigue a End Select. Si expresiónPrueba coincide con una expresión listaExpresión en más de una cláusula Case, solo se ejecutan las instrucciones que siguen a la primera coincidencia.

La cláusula Case Else se usa para indicar las instruccionesElse que se van a ejecutar si no se encuentran coincidencias entre la expresiónPrueba y una listaExpresión en cualquier de las otras selecciones Case. Aunque no es obligatorio, es recomendable tener una instrucción Case Else en el bloque Select Case para administrar valores expresiónPrueba imprevistos. Si ninguna Case listaExpresión coincide con una expresiónPrueba y no hay una instrucción Case Else, la ejecución continúa en la instrucción que sigue a End Select.

Puede usar varias expresiones o rangos en cada cláusula Case. Por ejemplo, la siguiente línea es válida:

Case 1 To 4, 7 To 9, 11, 13, Is > MaxNumber 

Nota Nota

El operador de comparación Is no es el mismo que la palabra clave Is usada en la instrucción Select Case.

También puede especificar rangos y diversas expresiones para cadenas de caracteres. En el siguiente ejemplo, Case coincide con cadenas que son exactamente iguales a everything , cadenas que se encuentran entre nuts y soup en orden alfabético y el valor actual de TestItem :

Case "everything", "nuts" To "soup", TestItem 

Las instrucciones Select Case pueden anidarse. Cada instrucción Select Case anidada debe tener una instrucción End Select que coincida.

En este ejemplo se usa la instrucción Select Case para evaluar el valor de una variable. La segunda cláusula Case contiene el valor de la variable que se va a evaluar y, por lo tanto, solo se ejecuta la instrucción asociada a él.

Dim Number 
Number = 8    ' Initialize variable. 
Select Case Number    ' Evaluate Number. 
Case 1 To 5    ' Number between 1 and 5, inclusive. 
    Debug.Print "Between 1 and 5" 
' The following is the only Case clause that evaluates to True. 
Case 6, 7, 8    ' Number between 6 and 8. 
    Debug.Print "Between 6 and 8" 
Case 9 To 10    ' Number is 9 or 10. 
Debug.Print "Greater than 8" 
Case Else    ' Other values. 
    Debug.Print "Not between 1 and 10" 
End Select
Mostrar: