¿Comó usar la instrucción Select Case en VBA?

La instrucción Select Case se utiliza para tomar decisiones múltiples basadas en el valor de una expresión o variable. A continuación, detallo cómo funciona y cómo puedes utilizarla de manera más completa:

Sintaxis

VBA
Select Case expresion
    Case valor1
        ' Código a ejecutar si la expresión es igual a valor1
    Case valor2
        ' Código a ejecutar si la expresión es igual a valor2
    Case valor3
        ' Código a ejecutar si la expresión es igual a valor3
    Case Else
        ' Código a ejecutar si la expresión no coincide con ninguno de los valores anteriores
End Select

A continuación, se describen algunos aspectos clave:

  • Expresión: Puede ser una variable, una constante o una expresión que deseas evaluar.
  • Case: Cada Case seguido de un valor (o una expresión) representa una condición que se evalúa para determinar qué bloque de código se ejecutará.
  • Else: El bloque Case Else es opcional y se ejecutará si ninguna de las condiciones anteriores se cumple.
  • Valor: Puede ser un valor constante, una variable o incluso una expresión. Cuando la expresión coincide con uno de los valores dentro de Case, se ejecuta el código correspondiente a ese caso.

Ejemplos

Select Case

Supongamos que deseas escribir un programa que muestre un mensaje dependiendo de la hora del día. Aquí tienes un ejemplo:

VBA
Sub SaludoSegunHora()
    Dim hora As Integer
    hora = Hour(Now) ' Obtiene la hora actual del sistema

    Select Case hora
        Case 0 To 11
            MsgBox "¡Buenos días!"
        Case 12 To 17
            MsgBox "¡Buenas tardes!"
        Case 18 To 23
            MsgBox "¡Buenas noches!"
        Case Else
            MsgBox "Hora no válida"
    End Select
End Sub

En este ejemplo, hora se compara con varios rangos de valores, y según la hora actual, se mostrará un mensaje de saludo correspondiente.

Select Case Anidado

Puedes anidar múltiples instrucciones Select Case para manejar decisiones más complejas. Aquí hay un ejemplo:

VBA
Sub CalificarExamen()
    Dim puntaje As Integer
    puntaje = 75 ' Puntaje del examen

    Select Case puntaje
        Case Is >= 90
            MsgBox "Excelente"
        Case 80 To 89
            MsgBox "Buen trabajo"
        Case 70 To 79
            MsgBox "Satisfactorio"
        Case Is < 70
            Select Case puntaje
                Case 60 To 69
                    MsgBox "Necesita mejorar"
                Case Is < 60
                    MsgBox "Reprobado"
            End Select
        Case Else
            MsgBox "Puntaje no válido"
    End Select
End Sub

En este ejemplo, se utiliza un Select Case anidado para evaluar diferentes rangos de puntajes y dar una calificación. Si el puntaje es inferior a 70, se utiliza otro Select Case dentro del Case Is < 70 para proporcionar una calificación más específica.

En resumen, la instrucción Select Case en VBA es una forma poderosa de manejar múltiples condiciones basadas en el valor de una expresión o variable. Puedes utilizarla para tomar decisiones más complejas y estructuradas en tus macros de Excel u otros programas VBA

Ingles

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