¿Cómo usar la instrucción Select Case en VBA?

La instrucción `Select Case` en VBA (Visual Basic for Applications) es una estructura de control que permite ejecutar diferentes bloques de código basados en el valor de una expresión. Funciona de manera similar a una serie de instrucciones `If … ElseIf … Else`, pero es a menudo más clara y concisa, especialmente cuando se tienen múltiples condiciones para evaluar.

Aquí tienes un ejemplo básico de cómo usar `Select Case`:

Sub EjemploSelectCase()
    Dim number As Integer
    number = 8 ' Puedes cambiar este valor para probar diferentes casos

    Select Case number
        Case 1
            MsgBox "El número es 1"
        Case 2 To 5
            MsgBox "El número está entre 2 y 5"
        Case 6, 7, 8
            MsgBox "El número es 6, 7 u 8"
        Case 9 To 10
            MsgBox "El número es 9 o 10"
        Case Else
            MsgBox "El número es mayor que 10 o menor que 1"
    End Select
End Sub

En este ejemplo, el `Select Case` evalúa el valor de la variable `number`. Si `number` es 1, se muestra el mensaje correspondiente. Si está entre 2 y 5, se muestra otro mensaje, y así sucesivamente. El `Case Else` es opcional y se ejecuta si ninguno de los `Case` anteriores coincide con el valor de la expresión.

Aquí puedes ver los distintos tipos de `Case` que puedes usar:

  • `Case` con un único valor: `Case 1`
  • `Case` con múltiples valores separados por comas: `Case 2, 3, 4`
  • `Case` con un rango de valores usando `To`: `Case 5 To 10`
  • `Case Else`: se ejecuta si ninguno de los casos anteriores coincide con la expresión

Puedes usar expresiones en los `Case` también, lo cual te proporciona flexibilidad adicional:

Sub EjemploSelectCaseConExpr()
    Dim score As Integer
    score = 76 ' Cambia este valor para probar diferentes casos

    Select Case score
        Case Is >= 90
            MsgBox "Excelente"
        Case Is >= 80
            MsgBox "Muy bien"
        Case Is >= 70
            MsgBox "Bien"
        Case Is >= 60
            MsgBox "Suficiente"
        Case Else
            MsgBox "Insuficiente"
    End Select
End Sub

En este caso, la instrucción `Select Case` evalúa el valor de `score` usando la cláusula `Is` para determinar un rango de valores y mostrar un mensaje de calificación.

Recuerda que `Select Case` solo funciona con comparaciones de igualdad o rangos utilizando `To`. Para otras comparaciones más complejas, como las operaciones lógicas, deberás usar la combinación de `If … ElseIf … Else`.

Conoce nuestra tienda

Ver más productos

Mejora tu nivel y logra tus objetivo

Excel

Excel cursos

Access

cursos de Access

Power BI

cursos power BI

Ayúdanos a hacer crecer el proyecto

Deja un comentario