VBA Seleccionar caso

Declaración de caso de Excel VBA Select

Select Case es un sustituto de escribir múltiples declaraciones if en VBA, cuando tenemos muchas condiciones en un código, es posible que tengamos que usar múltiples declaraciones If y lo cual puede ser tedioso ya que se vuelve más complejo a medida que se proporcionan más declaraciones If, en Enunciado de caso seleccionado, definimos los criterios como casos y resultados diferentes según ellos.

SELECT CASE ayuda en el proceso de toma de decisiones. En este, solo se utiliza una expresión para evaluar los diferentes casos posibles. Se analizan fácilmente múltiples condiciones para ejecutar el código desarrollado. Esta declaración de caso se utiliza como declaración sustituta de ELSE IF para evaluar expresiones. Se clasifica como una función lógica incorporada en Excel. Para usar esta función, el código se ingresa a través del editor visual básico presentado en la pestaña de desarrollador.

Explicación

En el caso de selección se utilizan varios grupos de declaraciones. Se debe seguir la siguiente sintaxis para usar esto de manera efectiva. Es similar a la declaración de cambio presentada en otros lenguajes de programación como Java, C # y PHP.

 Seleccione [Case] ​​Expresión para probar [Case] ​​Lista de declaraciones de expresión (Caso 1, Caso 2, Caso 3 y así sucesivamente ...) Caso Else (Otras declaraciones) Fin Seleccione 

La explicación de los términos asociados con el caso seleccionado se proporciona de la siguiente manera

Una expresión para probar: se requiere para evaluar los diferentes tipos de datos, como enteros, cadenas, booleanos, objetos y caracteres.

Lista de expresiones: las  expresiones se crean con el caso para encontrar la coincidencia exacta de la entrada ingresada. Si hay más de dos expresiones, se separan mediante el operador de coma. 'Es' es una palabra clave utilizada para comparar las dos expresiones usando los operadores lógicos en Excel como =,, =.

  • End Select: cierra la definición del caso de selección del constructor
  • Declaraciones: las declaraciones se desarrollan utilizando el caso para ejecutar las expresiones que se evalúan para analizar si hay alguna declaración coincidente
  • Declaraciones Else: Sirve para probar la declaración else cuando la expresión de prueba no coincide con ninguna declaración de caso.

¿Cómo utilizar la declaración de caso VBA Select?

La función de selección de casos proporcionada por VBA no se ejecuta en las hojas de trabajo normales. Necesitamos usar la opción de Visual Basic en la pestaña Desarrollador. Funciones definidas por el usuario y codificación creadas en el modo de desarrollador para ejecutar las diversas aplicaciones pequeñas en el campo empresarial.

Se utiliza en situaciones en las que hay declaraciones if anidadas en Excel. Es la mejor opción para tratar una variedad de casos. Para utilizar esta opción de forma eficaz, se deben realizar las siguientes tareas

  • En primer lugar, debe crear una macro colocando el control del botón de comando en la hoja de Excel.
  • Después de eso, haga clic derecho en el botón de comando y seleccione la opción Ver código
  • Coloque el código entre la función del botón de comando y end sub
  • Depura el código para identificar cualquier error de sintaxis.
  • Compile el código para encontrar errores de compilación para ejecutar correctamente el programa
  • Cambie los valores de entrada para observar diferentes resultados según los criterios de coincidencia
Puede descargar esta plantilla de Excel de VBA Select Case aquí - VBA Select Case Excel Template

Ejemplo n. ° 1: declaración de caso de selección simple

Este ejemplo es para comprender el caso de selección simple para encontrar el valor coincidente.

Código:

Private Sub Selcaseexmample () Dim A As Integer A = 20 Seleccione Case A Case 10 MsgBox "¡El primer caso coincide!" Caso 20 MsgBox "¡El segundo caso coincide!" Caso 30 MsgBox "¡El tercer caso coincide en el caso seleccionado!" Caso 40 MsgBox "¡El cuarto caso coincide en el caso seleccionado!" Caso Else MsgBox "¡Ninguno de los casos coincide!" Fin Seleccionar Fin Sub

Resultado:

La declaración de cuatro casos y la declaración de otro caso se utilizan para comparar la expresión de prueba con diferentes casos. En el presente ejemplo, el segundo caso se empareja cuando la variable A coincide con 20.

Ejemplo n. ° 2: palabra clave 'Para' para probar las calificaciones

Este ejemplo explica el uso de la palabra clave 'Para' con el caso de selección.

Código:

Private Sub Selcasetoexample () Atenuar las marcas de los alumnos como entero studentmarks = InputBox ("¿Ingresar marcas entre 1 y 100?") Seleccione Case studentmarks Case 1 to 36 MsgBox "Fail!" Caso 37 a 55 MsgBox "Grado C" Caso 56 a 80 MsgBox "Grado B" Caso 81 a 100 MsgBox "Grado A" Caso Else MsgBox "Fuera de rango" Fin Seleccione Fin Sub

Resultado:

La palabra clave 'To' es útil para definir el conjunto de expresiones de prueba en un rango. Es útil para encontrar la calificación obtenida por un estudiante comparando los diferentes casos. Después de ejecutar el programa, tenemos que ingresar el valor para obtener el resultado.

La salida se muestra con un cuadro de mensaje como se muestra en la captura de pantalla anterior.

Ejemplo n. ° 3: uso de la palabra clave "Es" con mayúsculas y minúsculas

Este ejemplo demuestra el uso de la palabra clave 'Is' con el caso de selección.

Código:

 Sub CheckNumber () Dim NumInput As Integer NumInput = InputBox ("Ingrese un número") Seleccione Case NumInput Case Is = 200 MsgBox "Ingresó un número mayor o igual a 200" Fin Seleccione Fin Sub 

La palabra clave 'Is' ayuda a encontrar los valores coincidentes solo con declaraciones de casos. Compara la expresión de prueba con la entrada dada para producir la salida.

La salida se obtiene como se muestra en la figura si el valor ingresado es más de 200

Ejemplo n. ° 4: con botón de comando para cambiar los valores

El caso de selección también se usa con el botón Comando creando una macro.

Código:

 Color secundario () Color atenuado Como color de cadena = Rango ("A1"). Seleccionar valor Color de caso Caso "Rojo", "Verde", "Amarillo" Rango ("B1"). Valor = 1 Caso "Blanco", "Negro "," Marrón "Rango (" B1 "). Valor = 2 Caso" Azul "," Azul cielo "Rango (" B1 "). Valor = 3 Caso Otro rango (" B1 "). Valor = 4 Fin Seleccionar Fin Sub 

Como se muestra en el programa, la entrada se toma de las celdas de la hoja de trabajo. El programa se ejecuta después de hacer clic en el botón de comando utilizado desde los controles ActiveX. En esto, se usa un separador de coma para combinar las expresiones de prueba.

Cuando el valor en la celda A1 cambia, también se produce un cambio en la celda B1 al ejecutar la macro de Excel a través del botón de comando. Puede consultar la captura de pantalla que se muestra a continuación: -

Ejemplo n. ° 5 - Verifique un número par o impar

Este ejemplo ayuda a comprobar que un número es par o impar.

Código:

 Sub CheckOddEven () CheckValue = InputBox ("Ingrese el número") Seleccione Case (CheckValue Mod 2) = 0 Case True MsgBox "El número es par" Case False MsgBox "El número es impar" End Select End Sub 

La codificación se desarrolla como se muestra en la captura de pantalla y la salida se muestra de la siguiente manera cuando se ingresa un número par.

Ejemplo n. ° 6 - Declaraciones de casos de selección anidadas

El anidamiento es una característica útil del caso de selección y se muestra la forma en que se hace.

Código:

 Sub TestWeekday () Seleccionar caso Día de la semana (ahora) Caso 1, 7 Seleccionar caso Día de la semana (ahora) Caso 1 MsgBox "Hoy es domingo" Caso Else MsgBox "Hoy es sábado" Fin Seleccionar caso Else MsgBox "Hoy es un día de la semana" Fin Seleccionar Fin Sub 

Here the select case is defined inside another select case to test a day, weekday, or weekend. Except 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 best results.
  • VBA is a case sensitive and input should be entered accurately to get better results.