¿Ya dominas lo básico? Un curso estructurado de VBA es la vía rápida para dar el salto.
Ver cursos de VBA en UdemyEnlace de afiliado. No te cuesta nada extra.
- 01Preparar el entorno (lo que necesitas)
- 02Tu primera salida (MsgBox)
- 03Declarar variables (Dim)
- 04Condicionales (la sentencia If)
- 05Repetir (la sentencia For)
- 06Repetir (la sentencia Do While)
- 07Escribir un procedimiento Sub
- 08Procedimientos Function (trabajo que devuelve un valor)
- 09Leer y escribir celdas (Range y Cells)
- 10Trabajar con arrays
- 11Trabajar con texto
- 12La sentencia With
- 13Variables de objeto y trabajo con hojas
- 14Recorrer elementos (For Each)
- 15Manejo de errores (On Error)
- 16La sentencia Select Case
- 17Argumentos (ByVal y ByRef)
- 18Trabajar con colecciones (Collection)
- 19Grabar macros y procedimientos de evento
- 20[Proyecto] Construye una hoja de inventario
La sentencia Select Case
En esta lección elegirás entre varios casos según el valor de una variable.
Select Case variable compara el valor con cada Case, y Case Else recoge lo que no encaje en ninguno. El bloque se cierra con End Select.
El código de ejemplo traduce un número de día a su nombre.
La ventaja frente a un If encadenado no es solo estética: Select Case admite rangos y listas de forma muy legible. Se puede escribir Case 1 To 5, Case 2, 4, 6 o incluso Case Is >= 80, cosas que con ElseIf ocuparían el doble.
A diferencia del switch de C o JavaScript, aquí no hace falta ningún break: en cuanto un caso coincide, se ejecuta y el bloque termina. Ese error clásico de «se me olvidó el break y siguió ejecutando» sencillamente no existe en VBA.
🧪 Este sitio no puede compilar ni ejecutar VBA directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).
