Proyecto Macros Excel (VBA)
Automatización y consolidación de datos en Excel
En este documento se explica de manera detallada la funcionalidad de las diferentes macros escritas en VBA (Visual Basic for Applications) que se usaban en el entorno de Excel para automatizar tareas de inventario, consolidación de datos, generación de reportes y filtros.
1. Macro Bodega()
Ubicación: Módulo Bodega_de_datos
Objetivo principal: Procesar y consolidar la información de un archivo
“TCEDI” seleccionado por el usuario, crear una tabla dinámica con los datos y transferir resultados
a la “Plantilla preparación”, realizando además búsquedas en otros archivos para enriquecer la información.
Flujo general: Primero abre el archivo en la variable ruta
,
limpia columnas y luego pide al usuario seleccionar la TCEDI. Crea una columna con fórmulas
de concatenación para identificar elementos y genera una tabla dinámica (con PivotCaches
)
para resumir información. Copia el resultado a la “Plantilla preparación.xlsm”, realiza reemplazos
(ej. "B.Eco" → "B. eco"
), separa texto con la función Texto en columnas,
y cierra archivos de apoyo (por ejemplo item_extensiones.xlsx). Finalmente deja los datos
listos en la plantilla, con los campos “id_cia”, “concatenado”, etc. ya calculados.

2. Macro Consolidar_BDT()
Ubicación: Módulo Módulo1
Objetivo principal: Unificar la información de despacho a partir de un archivo
“T.Cedi” (seleccionado por el usuario), creando también una tabla dinámica y completando datos
con un “Maestro de ítems”. Al final, copia los resultados en un libro central de consolidación
(por ejemplo, BDT.CEDI.xlsx).
Flujo general: Solicita el archivo T.Cedi, lo abre con
Workbooks.OpenText
usando delimitadores, crea una columna para concatenar
valores y genera una tabla dinámica para “Suma de Valor”. Aplica separaciones con
TextToColumns, inserta columnas calculadas (año, mes en texto) y realiza búsquedas
con XLOOKUP
o VLOOKUP
en un “Maestro de ítems.txt”. Luego pega
todo en BDT.CEDI.xlsx para tener un consolidado de datos de despacho.

3. Macro Disponbile()
Ubicación: Módulo Disponible
Objetivo principal: Centralizar la disponibilidad de ítems en distintas bodegas
(S, M, L, etc.), calcular inventario total y decidir cuántas unidades pueden enviarse (limitadas a
250, según reglas de negocio). Posteriormente, formatea y ordena la hoja para dejarla lista para
uso por parte del equipo.
Flujo general: Limpia columnas (A:Z), define los encabezados (Foto, Item,
Calificación, Existencia total, etc.) y obtiene la información de la hoja “B034” a través de
filtros. Inserta fórmulas para sumar unidades, usar VLOOKUP
y marcar ítems nuevos
o en “Lista negra”. También aplica una lógica para limitar la cantidad a enviar si el inventario
sobrepasa las 250 unidades. Luego rompe los vínculos externos y ordena columnas para presentar
el reporte final de disponibilidad.
4. Macro Listado()
Ubicación: Módulo Listado
Objetivo principal: Generar un nuevo libro (p.ej. “LIST hombre.xlsx”)
con la información final, formateada y con columnas como FOTO, ITEM, GENERO,
CATEGORÍA, INV TOTAL, S, M, L. Aplica tabla dinámica y ordena la data
para un reporte definitivo (hoja “FINAL” renombrada a “SALE”).
Flujo general: Crea un libro nuevo, copia datos desde “Importación SALE hombre”
y los pega en la nueva hoja “SALE”. Realiza sumas para el inventario total,
da formato (color, tipografía, bordes) y ordena por categoría y género.
Abre un diálogo SaveAs
para que el usuario elija el destino.
Posteriormente, genera una tabla dinámica para validar datos, elimina hojas temporales
y deja solo la hoja “FINAL”, que se nombra definitivamente “SALE”.

5. Macros VxP()
y VxP_EC()
Ubicación: Módulo VxP
Objetivo principal: Aplicar filtros y formato condicional
(escalas de color) en todas las hojas de un libro, para resaltar filas donde
ciertas columnas cumplan valores > 3 o < 0.2.
Flujo común: Recorre cada hoja (desde 1 hasta WS_Count
),
aplica AutoFilter en columnas clave (por ejemplo, la 11 y la 14)
para dejar visible solo lo que cumpla
valor > 3
y valor < 0.2
,
y luego establece un ColorScale
en columnas N:P
o N:S
para marcarlo con una gradación de 3 colores. La diferencia entre VxP()
y VxP_EC()
radica en que VxP()
abarca A:P
y VxP_EC()
llega hasta A:S
.
Conclusión General: Estas macros escritas en VBA permiten automatizar tareas de limpieza, consolidación y reporte de datos de manera rápida y eficiente, ahorrando tiempo y reduciendo errores en procesos manuales. Cada macro cumple un rol específico (bodega, consolidación, disponibilidad, generación de listado y filtros), contribuyendo al flujo completo de trabajo en el manejo de inventarios y ventas.