¿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
Trabajar con colecciones (Collection)
En esta lección guardarás elementos en una colección que crece sola.
Dim fruits As New Collection crea una colección vacía, y .Add le añade elementos. A diferencia de un array, no hay que decidir el tamaño de antemano.
El código de ejemplo añade tres frutas y las recorre con For Each.
Un detalle que sorprende: los índices de una Collection empiezan en 1, no en 0 como en los arrays. Tener las dos convenciones conviviendo en el mismo lenguaje es incómodo, y es un motivo más para recorrerlas con For Each, que evita el problema por completo.
Cuando lo que necesitas es buscar por clave, la herramienta adecuada no es Collection sino Dictionary (activando la referencia «Microsoft Scripting Runtime»), que permite comprobar si una clave existe y recorrer las claves. Para agrupar o contar datos es bastante más práctico.
🧪 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).
