Select Case en VBA

La instrucción Select Case en VBA es uno de los métodos más fáciles y utilizados en Excel cuando se trata de asignar y clasificar en función de una única variable con varios posibles resultados. En este tutorial vamos a ver su sintaxis, sus parámetros y cómo usarla con varios ejemplos muy sencillos.

Sintaxis

La sintaxis de la instrucción Select Case en VBA es muy sencilla pero hay que saber cómo usarla para sacarle verdadero partido.  En el siguiente recorte de código VBA puedes ver cómo es la sintaxis.

Select Case mi_expresion

    Case mi_expresion_1
        'código para expresion_1
        
    Case mi_expresion_2
        'código para expresion_2
        
    '...
        
    Case mi_expresion_n
        'código para expresion_n

    Case Else
         'código para cuando no hay coincidencias

End Select

Donde:

  • mi_expresión: es una variable que queremos evaluar. Puede ser numérica o de tipo texto y será contra la que evaluemos mi_expresion_1, mi_expresion_2…
  • mi_expresion_1,2…n: es un valor o conjunto de valores numéricos o de texto contra los que se evaluará mi_expresion. En caso de evaluarse como verdadera se ejecutará el código… sino, pasará a evaluar la siguiente mi_expresion_n.
  • Case Else: este valor es opcional y lo usaremos para cuando no hayamos conseguido ninguna equivalencia con mi_expresión y queramos ejecutar algún código.

Ejemplos

Ejemplo1

En el siguiente ejemplo vamos a ver el caso más sencillo de Selec Case en VBA. Las condiciones que se evalúan tienen que ser iguales a la expresión inicial. En este ejemplo se quiere evaluar la variable Nombre. En función del Nombre se asignará un valor de color de fondo u otro.

Select Case Nombre
    
    Case "Enrique"
        color_fondo = vbYellow
    
    Case "Juan"
        color_fondo = vbRed
        
    Case Else
        color_fondo = vbWhite
        
End Select

 Ejemplo 2

En este ejemplo se evalúa la variable Edad y en función de su valor (dado por intervalos) se da un atributo a la variable tipo_edad.

Select Case Edad
    
    Case 1 To 14
        tipo_edad = "niño"
    
    Case 15 To 20
        tipo_edad = "adolescente"
        
    Case Else
        tipo_edad = "adulto"
        
End Select

 Ejemplo 3

En este ejemplo, en función de la primera letra del ID (que es la variable que vamos a evaluar) asignaremos un valor a la variable tipo para clasificar el Primer_numero_ID.

Select Case Primer_numero_ID
    
    Case 1, 2, 3
        tipo = "grupo1"
    
    Case 4, 5, 6
        tipo = "grupo2"
        
    Case Else
        tipo = "grupo3"
        
End Select

 Ejemplo 4

Por último, en este ejemplo, para evaluar la variable Altura, las condiciones que se utilizan son expresiones aritméticas.

Select Case Altura
    
    Case Is < 140
        tipo = "bajito"
    
    Case Is < 170
        tipo = "mediano"
        
    Case Else
        tipo = "alto"
        
End Select

 Descargable

En el siguiente enlace podéis descargar un libro de Excel con estos ejemplos para que podáis trabajar aún más fácilmente:

Ejemplos de código VBA de Select Case

Quique es un fanático del Excel desde que empezó a trabajar con ello hace unos pocos años. Adquirió su conocimiento a través de Google y de infinitas pruebas y más pruebas. Además, Quique es un entusiasta de su familia (mujer e hijos), del deporte y de la cerveza… no dudes en contactar con él para cualquier duda que tengas.

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información ACEPTAR

Aviso de cookies
Shares
Share This