¿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
Condicionales (la sentencia If)
En esta lección harás que la macro tome caminos distintos según una condición.
La forma es If condición Then ... End If, con ElseIf para las alternativas y Else para el resto. A diferencia de otros lenguajes, aquí las palabras se escriben tal cual: Then, ElseIf, End If.
El código de ejemplo muestra un mensaje distinto según la nota.
Dos detalles que despistan. El primero es que ElseIf va todo junto: Else If separado abre un bloque nuevo que exigiría su propio End If. El segundo es que el operador de comparación es =, el mismo que el de asignación; VBA distingue cuál es por el contexto, así que no existe el clásico error de escribir = en vez de ==.
Existe también la forma de una sola línea, If x > 0 Then MsgBox "positivo", que no lleva End If. Es cómoda para casos muy simples, pero mezclada con bloques normales hace el código difícil de seguir, así que conviene usarla con moderación.
🧪 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).
🔗 El mismo tema en otros lenguajes
Mira cómo se escribe lo mismo en otro lenguaje.
