Estructura de Selección Select Case en VBA

Evaluación limpia, eficiente y organizada de múltiples condiciones en hojas de Excel.

💡 ¿Por qué usar Select Case?

Cuando tenemos muchas opciones posibles, encadenar bloques ElseIf hace que el código sea largo y difícil de leer. La estructura Select Case evalúa una sola variable y la compara contra diferentes escenarios posibles de forma clara y directa.

1. Formas de usar Select Case

La estructura flexible de Select Case permite evaluar comparaciones exactas, múltiples alternativas en una fila, rangos continuos y comparaciones lógicas.

1. Coincidencia Exacta (Valor Único)

Evalúa si la variable es exactamente igual a un número o texto específico.

Select Case dia
    Case 1
        Range("B2").Value = "Lunes"
    Case 2
        Range("B2").Value = "Martes"
    Case Else
        Range("B2").Value = "Otro día"
End Select

2. Lista de Valores (Separados por Coma)

Permite agrupar varias opciones que ejecutan la misma acción.

Select Case dia
    Case "Sábado", "Domingo"
        Range("B2").Value = "Fin de Semana"
    Case "Lunes", "Martes", "Miércoles", "Jueves", "Viernes"
        Range("B2").Value = "Día Laboral"
End Select

3. Rango de Valores Continuo (Palabra Clave To)

Evalúa si un número está dentro de un intervalo comprendido entre dos límites.

Select Case edad
    Case 0 To 11
        Range("B2").Value = "Niño"
    Case 12 To 17
        Range("B2").Value = "Adolescente"
End Select

4. Comparaciones Lógicas (Palabra Clave Is)

Se utiliza junto a operadores de comparación como >, <, >= o <=.

Select Case temperatura
    Case Is < 0
        Range("B2").Value = "Congelante"
    Case Is <= 15
        Range("B2").Value = "Frío"
    Case Is > 28
        Range("B2").Value = "Caluroso"
End Select

2. Módulo de Ejercicios Prácticos en Clase

Todos los ejercicios están organizados dentro de una misma hoja de cálculo en orden descendente. Ocupan rangos consecutivos de filas (de a 3 filas por ejercicio), dejando una fila intermedia vacía de separación entre cada uno:

Select Case Ejercicio 1: Conversión de Código de Menú (Filas 1-3)

Evalúa el número en A2 (1 a 3) y asigna en B2 el plato: 1="Pizza", 2="Hamburguesa", 3="Tacos". Cualquier otro valor asigna "Opción Inválida".

A B
1 Código Opción Plato Asignado
2 2 [ Resultado B2 ]
3 5 [ Resultado B3 ]
Select Case Ejercicio 2: Días Laborables vs. Fin de Semana (Filas 5-7 | Fila 4 libre)

Evalúa el texto en A6. Si es "Sábado" o "Domingo", asigna en B6 "Fin de Semana". Si es cualquier día entre "Lunes" y "Viernes", asigna "Día Laboral".

A B
5 Día de la Semana Tipo de Día
6 Sábado [ Resultado B6 ]
7 Martes [ Resultado B7 ]
Select Case Ejercicio 3: Escala de Calificaciones Académicas (Filas 9-11 | Fila 8 libre)

Evalúa la nota en A10 usando rangos (To): 90 a 100="Excelente", 80 a 89="Muy Bueno", 60 a 79="Aprobado", 0 a 59="Reprobado". Escribe el resultado en B10.

A B
9 Calificación (0-100) Estatus Final
10 85 [ Resultado B10 ]
11 45 [ Resultado B11 ]
Select Case Ejercicio 4: Categorización por Altura usando Is (Filas 13-15 | Fila 12 libre)

Evalúa la estatura en cm en A14 usando Is: Is < 150="Baja", Is <= 175="Media", Is > 175="Alta". Registra en B14.

A B
13 Estatura (cm) Categoría Estatura
14 182 [ Resultado B14 ]
15 165 [ Resultado B15 ]
Select Case Ejercicio 5: Identificación de Estación del Año (Filas 17-19 | Fila 16 libre)

Toma el número del mes (1-12) de A18. Meses 12, 1, 2="Invierno"; 3, 4, 5="Primavera"; 6, 7, 8="Verano"; 9, 10, 11="Otoño". Escribe en B18.

A B
17 Número de Mes Estación del Año
18 7 [ Resultado B18 ]
19 11 [ Resultado B19 ]
Select Case Ejercicio 6: Descuento por Código de Cliente (Filas 21-23 | Fila 20 libre)

Comprueba la letra en A22: "A"="15% Descuento", "B"="10% Descuento", "C"="5% Descuento", cualquier otra letra="Sin Descuento". Asigna en B22.

A B
21 Código Cliente Descuento Asignado
22 A [ Resultado B22 ]
23 Z [ Resultado B23 ]
Select Case Ejercicio 7: Categoría de Peso Deportivo usando Is (Filas 25-27 | Fila 24 libre)

Evalúa el peso en kg en A26: Is < 60="Ligero", Is <= 75="Mediano", Is > 75="Pesado". Muestra el resultado en B26.

A B
25 Peso Atleta (kg) Categoría Peso
26 72 [ Resultado B26 ]
27 88 [ Resultado B27 ]
Select Case Ejercicio 8: Determinación del Tipo de Ángulo (Filas 29-31 | Fila 28 libre)

Evalúa los grados en A30: Is < 90="Agudo", 90="Recto", 91 To 179="Obtuso", 180="Llano". Guarda en B30.

A B
29 Ángulo (Grados) Tipo de Ángulo
30 90 [ Resultado B30 ]
31 135 [ Resultado B31 ]
Select Case Ejercicio 9: Estado del Semáforo de Tránsito (Filas 33-35 | Fila 32 libre)

Evalúa el color en A34: "Rojo"="Detenerse", "Amarillo"="Precaución", "Verde"="Avanzar". Para cualquier otro texto escribe "Color Inválido" en B34.

A B
33 Color Semáforo Acción Conductor
34 Rojo [ Resultado B34 ]
35 Verde [ Resultado B35 ]
Select Case Ejercicio 10: Rango de Precios de Productos (Filas 37-39 | Fila 36 libre)

Lee el precio en A38: 1 a 50="Económico", 51 a 200="Estándar", Is > 200="Premium". Escribe la clasificación en B38.

A B
37 Precio Producto ($) Gama del Producto
38 120 [ Resultado B38 ]
39 350 [ Resultado B39 ]