¿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
Recorrer elementos (For Each)
En esta lección recorrerás una colección de valores sin llevar un contador.
For Each elemento In colección ... Next toma cada elemento por turno. Array(...) crea sobre la marcha una lista de valores, y el tipo Variant es el que puede contener cualquier cosa.
El código de ejemplo suma tres notas y muestra el total.
Comparado con el For con índices, For Each se lee mejor y no puede salirse del rango. La contrapartida es que no sabes en qué posición estás y que no puedes recorrer la colección al revés; cuando hace falta cualquiera de las dos cosas, toca volver al For con contador.
Donde de verdad brilla es recorriendo celdas: For Each celda In Range("A1:A100") es la forma habitual de procesar una columna. Y para modificar elementos de una colección mientras la recorres, cuidado: eso da resultados impredecibles, y lo correcto es recorrerla al revés con índices.
🧪 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).
