¿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
[Proyecto] Construye una hoja de inventario
En esta lección juntarás todo lo anterior en una macro pequeña pero completa.
Aparecen a la vez varias cosas que ya conoces: una Function que devuelve el estado según la cantidad, dos arrays en paralelo con los nombres y las cantidades, un bucle For que los recorre y la unión de textos con & y vbNewLine.
El código de ejemplo registra tres artículos y muestra el estado de cada uno.
Fíjate en cómo la decisión del estado está separada en su propia Function. Podría haberse escrito con un If dentro del bucle, pero sacarlo aparte tiene dos ventajas concretas: el bucle se lee de un vistazo, y esa función se puede usar también como fórmula en la hoja, escribiendo =StatusOf(B2) en una celda.
Si quieres seguir practicando, prueba a leer los datos de la hoja en lugar de escribirlos en el código, con Cells(i, 1).Value, y a escribir el resultado en la columna C. Con eso tendrías ya una herramienta de verdad, y es exactamente el tipo de macro que se usa a diario en oficinas de todo el mundo.
🧪 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).
