|
Select Case (Instrucción)
Ejecuta uno de varios grupos de instrucciones, dependiendo del valor de una expresión.
Sintaxis
Select Case expresión_prueba
[Case lista_expresion-n
[instrucciones-n]] ...
[Case Else
[instrucciones_else]]
End Select
La sintaxis de la instrucción Select Case consta de las siguientes partes:
Parte | Descripción |
---|---|
expresión_prueba | Requerido. Cualquier expresión numérica o expresión de cadena. |
lista_expresión-n | Requerido si aparece la palabra clave Case. Lista delimitada por comas de una o más de las formas siguientes: expresión, expresión To expresión, Is expresión operador_de_comparación. La palabra clave especifica un intervalo de valores. Si se utiliza la palabra clave To, el valor menor debe aparecer antes de To. Utilice la palabra clave Is con operadores de comparación (excepto Is y Like) para especificar un intervalo de valores. Si no se escribe, la palabra clave Is se insertará automáticamente. |
instrucciones-n | Opcional. Una o más instrucciones ejecutadas si expresión_prueba coincide con cualquier parte de lista_expresión-n. |
instrucciones_ else |
Opcional. Una o más instrucciones que se ejecuten si expresión_prueba no coincide con nada de la cláusula Case. |
Comentarios
Si expresión_prueba coincide con cualquier lista_expresión asociada con una cláusula Case, las instrucciones que siguen a esa cláusula Case se ejecutan hasta la siguiente cláusula Case o, para la última cláusula, hasta la instrucción End Select. El control pasa después a la instrucción que sigue a End Select. Si expresión_prueba coincide con una expresión de lista_expresión en más de una cláusula Case, sólo se ejecutan las instrucciones que siguen a la primera coincidencia.
La cláusula Case Else se utiliza para indicar las instrucciones que se van a ejecutar si no se encuentran coincidencias entre expresión_prueba y una lista_expresión en cualquiera de las otras selecciones de Case. Aunque no es necesario, es buena idea tener una instrucción Case Else en el bloque Select Case para controlar valores imprevistos de expresión_prueba. Cuando no hay una instrucción Case Else y ninguna expresión de la lista en las cláusulas Case coincide con la expresión de prueba, la ejecución continúa en la instrucción que sigue a End Select.
Se pueden utilizar expresiones múltiples o intervalos en cada cláusula Case. Por ejemplo, la línea siguiente es válida:
Case 1 To 4, 7 To 9, 11, 13, Is > MaxNumber
Nota El operador de comparación Is no es lo mismo que la palabra clave Is utilizada en la instrucción Select Case.
También puede especificar intervalos y expresiones múltiples para cadenas de caracteres. En el siguiente ejemplo, Case coincide con las cadenas que son exactamente iguales a todo
, cadenas que están entre nueces
y sopa
en orden alfabético y el valor actual de ElemPrueba
:
Case "iguales a todo", "nueces" To "sopa", ElemPrueba
Las instrucciones Select Case se pueden anidar. Cada instrucción Select Case debe tener su correspondiente instrucción End Select.