Select Case en VBAEvaluación limpia, eficiente y organizada de múltiples condiciones en hojas de Excel.
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.
Select CaseLa estructura flexible de Select Case permite evaluar comparaciones exactas, múltiples alternativas en una fila, rangos continuos y comparaciones lógicas.
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
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
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
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
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:
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 ] |
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 ] |
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 ] |
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 ] |
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 ] |
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 ] |
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 ] |
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 ] |
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 ] |
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 ] |