Caja del interruptor VBA - Ejemplos para usar la declaración de cambio de Excel VBA

Tabla de contenido

Caja de interruptor Excel VBA

Switch Case o Select Case es una declaración disponible en VBA para realizar pruebas lógicas donde funciona como una alternativa a la declaración IF-THEN en VBA. Con un caso de interruptor, podemos realizar múltiples pruebas lógicas y obtener resultados basados ​​en múltiples resultados.

A continuación se muestra la sintaxis de la instrucción Switch Case / Select Case.

Código:

Seleccione el caso Valor del caso 1 si la prueba del caso 1 es VERDADERA Valor del caso 2 si la prueba del caso 2 es VERDADERA Valor del caso 3 si la prueba del caso 3 es VERDADERA Valor del caso si ninguno de los casos anteriores es VERDADERO Finalizar Seleccionar

: ¿Cuál es la prueba lógica? Necesitamos ingresar a la prueba aquí.

Caso 1, Caso 2: En cada caso, necesitamos probar múltiples pruebas lógicas en Excel.

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

Ejemplo 1

En la celda A1, ingresé el valor 550.

Probaremos este número usando declaraciones de cambio de caso y llegaremos al estado como “Más de 500” si el valor es más de 500 o de lo contrario llegaremos al estado como “Menos de 500”.

Primero, abra el procedimiento de VBA Sub.

Código:

Sub Switch_Case () End Sub

Abra Select Case Statement en VBA y proporcione el valor de rango de prueba lógica ("A2").

Código:

Sub Switch_Case () Seleccione el rango de casos ("A2"). Valor End Sub

Ahora ingrese el primer caso ya que el caso es> 500.

Código:

Sub Switch_Case () Seleccione el rango de mayúsculas y minúsculas ("A2"). El valor de mayúsculas y minúsculas es> 500 End Sub

Si este caso es VERDADERO, entonces cuál es el resultado que necesitamos en la celda B, 2, es decir, “Más de 500”.

Código:

Sub Switch_Case () Seleccione el rango de mayúsculas y minúsculas ("A2"). El valor de mayúsculas y minúsculas es> 500 rango ("B2"). Valor = "Más de 500"

Ahora nos quedamos con un solo resultado, es decir, la instrucción Case Else. Si el primer caso es FALSO, entonces necesitamos el resultado como "Menos de 500".

Código:

Sub Switch_Case () Seleccionar rango de mayúsculas y minúsculas ("A2"). Valor de mayúsculas y minúsculas es> Rango de 500 ("B2"). Valor = "Más de 500" Rango de mayúsculas y minúsculas ("B2"). Valor = "Menos de 500" End Sub

Ahora cierre la instrucción usando la instrucción "End Select".

Código:

Sub Switch_Case () Seleccionar rango de mayúsculas y minúsculas ("A2"). Valor de mayúsculas y minúsculas es> Rango de 500 ("B2"). Valor = "Más de 500" Rango de mayúsculas y minúsculas ("B2"). Valor = "Menos de 500" Seleccionar End Sub

Ejecute el código, obtendremos el valor en la celda B2.

Dado que el valor en la celda A2 es mayor que 500, obtuvimos el resultado como "Más de 500".

Ejemplo # 2

Ahora veremos usar más ejemplos de casos. A continuación se muestra la puntuación del estudiante en el examen.

Con este puntaje, necesitamos llegar al Grado, para eso a continuación se encuentran los criterios.

  • Puntuación> = 85, Grado = "Dist"
  • Puntaje> = 60, Grado = "Primero"
  • Puntuación> = 50, Grado = "Segundo"
  • Puntuación> = 35, Calificación = "Aprobado"
  • Si algo más, Grade = "Fail".

Código:

Sub Switch_Case1 ()

 Puntaje atenuado como puntaje entero = 65 Seleccionar puntaje de caso El caso es> = 85 MsgBox "Dist" El caso es> = 60 MsgBox "El primer" caso es> = 50 MsgBox "Segundo" el caso es> = 35 MsgBox "Aprobar" Caso Else MsgBox " Fallo "Finalizar Seleccionar Finalizar Sub

Ejecute este código. Obtendremos la calificación en el cuadro de mensaje.

Since the score is more than 60 but less than 85 grade is “First.”

Example #3

We have seen how to find a grade for one student, what about finding a grade for more than one student. Below are the scores of students.

Since more than one student is involved, we need to enclose FOR NEXT loop in VBA. Below is the VBA code.

Code:

Sub Switch_Case2() Dim k As Integer For k = 2 To 7 Select Case Cells(k, 2).Value Case Is>= 85 Cells(k, 3).Value = "Dist" Case Is>= 60 Cells(k, 3).Value = "First" Case Is>= 50 Cells(k, 3).Value = "Second" Case Is>= 35 Cells(k, 3).Value = "Pass" Case Else Cells(k, 3).Value = "Fail" End Select Next k End Sub

Run this code. We will get grades.

Things to Remember

  • Switch Case is often referred to as “Select Case.”
  • The switch is a function, not a statement.
  • Si ninguna prueba lógica es VERDADERA, simplemente puede pasar el resultado alternativo en la instrucción CASE ELSE y siempre cerrar la instrucción con la palabra "END SELECT".

Articulos interesantes...