Una macro es una secuencia de instrucciones que Excel ejecuta automáticamente para repetir tareas sin que tú las hagas a mano.
El problema que las macros resuelven
Imagina que cada lunes descargas un reporte de ventas del sistema SAP de tu empresa. Tienes que eliminar columnas vacías, aplicar formato a los encabezados, ordenar por región y guardar el archivo con un nombre específico. Son veinte pasos que tardas quince minutos en completar. Multiplicado por cuatro semanas, son sesenta minutos al mes haciendo exactamente lo mismo. Una macro convierte esos veinte pasos en un solo clic.
El Sistema de Grabación y Ejecución (SGE)
Puedes pensar en las macros como una grabadora de voz, pero para acciones de Excel. Presionas "grabar", haces tus pasos normalmente y presionas "detener". Excel recuerda cada clic, cada formato y cada fórmula que aplicaste. La próxima vez, la macro los repite en segundos.
Este método se llama el Sistema de Grabación y Ejecución (SGE). Tiene tres fases:
- Grabar: capturas los pasos una sola vez.
- Revisar: ves el código generado en VBA para entender qué hace.
- Ejecutar: corres la macro cada vez que necesitas repetir la tarea.
No necesitas saber programar para comenzar. El grabador de macros escribe el código por ti.
¿Cómo activar el grabador de macros?
Antes de grabar, necesitas activar la pestaña Desarrollador en Excel. Sigue estos pasos:
- Ve a Archivo → Opciones → Personalizar cinta de opciones.
- En la columna derecha, marca la casilla Desarrollador.
- Haz clic en Aceptar.
Ahora verás la pestaña Desarrollador en tu cinta. Desde ahí controlas todas las macros.
Tu primera macro: formatear un reporte semanal
Supón que trabajas en el área de análisis de Liverpool y cada semana recibes una tabla de ventas por departamento. Los encabezados no tienen formato y la columna de totales no tiene separador de miles. Vamos a grabar una macro que lo corrija.
Paso 1 — Inicia la grabación:
Ve a Desarrollador → Grabar macro. Aparece una ventana. En "Nombre de la macro" escribe FormatoReporte. En "Tecla de método abreviado" escribe la letra f (esto creará el atajo Ctrl + F). Haz clic en Aceptar.
Paso 2 — Realiza las acciones:
- Selecciona la fila de encabezados (fila 1).
- Aplica negrita con
Ctrl + N. - Cambia el color de fondo a azul oscuro y el color de texto a blanco.
- Selecciona la columna de ventas (por ejemplo, columna C).
- Aplica formato de número con separador de miles desde Inicio → Número → Contabilidad.
Paso 3 — Detén la grabación: Ve a Desarrollador → Detener grabación.
Listo. La próxima semana, cuando llegue el nuevo reporte, abre el archivo, presiona Ctrl + F y Excel aplica todo el formato en menos de dos segundos.
¿Qué es el código VBA y por qué debes verlo?
VBA significa Visual Basic for Applications. Es el lenguaje que Excel usa para escribir las instrucciones de tu macro. No necesitas aprenderlo desde cero, pero leerlo te ayuda a entender qué hace tu macro y a modificarla si algo sale mal.
Para ver el código, ve a Desarrollador → Visual Basic. Se abre el editor. En el panel izquierdo, busca tu macro FormatoReporte y haz doble clic. Verás algo así:
Sub FormatoReporte()
Rows("1:1").Select
Selection.Font.Bold = True
Selection.Interior.Color = RGB(31, 73, 125)
Selection.Font.Color = RGB(255, 255, 255)
Columns("C:C").Select
Selection.NumberFormat = "#,##0"
End Sub
Cada línea es una instrucción. Rows("1:1").Select significa "selecciona la fila 1". Selection.Font.Bold = True significa "pon el texto en negrita". Puedes leerlo como un recetario de cocina: cada línea es un paso.
Una macro más poderosa: calcular e imprimir resumen
Ahora imagina que en FEMSA necesitas calcular el total de ventas por región cada semana y mostrar el resultado en una celda específica. Puedes grabar una macro que haga eso también.
Graba la macro ResumenVentas con estos pasos:
- Haz clic en la celda donde quieres el total, por ejemplo
E2. - Escribe la fórmula
=SUMA(C2:C50)y presiona Enter. - Haz clic en
E2otra vez. - Aplica formato de número en pesos:
$#,##0.
Cuando ejecutes esta macro la próxima semana, Excel irá directo a E2, sumará el rango y aplicará el formato. Si tu tabla tiene datos diferentes, la suma se actualiza sola. El formato siempre queda igual.
El resultado en pantalla se verá así:
Total ventas región Norte: $1,284,500
Total ventas región Sur: $987,300
Total ventas región Centro: $2,105,750
Guardar tu archivo con macros
Esto es clave y mucha gente lo olvida. Si guardas tu archivo como .xlsx normal, Excel elimina todas las macros. Debes guardar el archivo en formato especial.
Ve a Archivo → Guardar como y en el menú desplegable de tipo de archivo elige Libro de Excel habilitado para macros (*.xlsm). Ese formato conserva todo el código VBA. Si alguien más abre el archivo, Excel le preguntará si desea habilitar las macros. Debe hacer clic en Habilitar contenido para que funcionen.
Errores comunes al usar macros por primera vez
Error 1 — Grabar con celdas absolutas cuando necesitas relativas.
Por defecto, el grabador usa referencias absolutas. Si grabas que seleccionas C2, la macro siempre irá a C2, aunque tus datos estén en otra fila. Para evitarlo, activa Usar referencias relativas en la pestaña Desarrollador antes de grabar. Esto hace que la macro trabaje desde la celda activa, no desde una posición fija.
Error 2 — No probar la macro con datos diferentes. Siempre prueba tu macro con un archivo de muestra antes de usarla en datos reales. Si grabaste pasos con una tabla de 50 filas y tus datos reales tienen 200, algunas acciones pueden no cubrir todo el rango.
Error 3 — Olvidar guardar en formato .xlsm.
Si guardas como .xlsx, pierdes todas las macros sin advertencia. Acostúmbrate a revisar la extensión del archivo antes de cerrar.
Error 4 — Asignar el mismo atajo de teclado a dos macros.
Si tienes Ctrl + F para FormatoReporte y también para FiltrarDatos, Excel ejecutará solo una. Usa atajos únicos para cada macro, o ejecuta las macros desde Desarrollador → Macros → Ejecutar para evitar conflictos.
Error 5 — Ejecutar la macro en el archivo equivocado. Las macros grabadas en un archivo pueden aparecer disponibles en otros archivos abiertos al mismo tiempo. Asegúrate de tener activo el archivo correcto antes de ejecutar.
Cómo asignar una macro a un botón
Si compartes tu archivo con un compañero que no sabe usar la pestaña Desarrollador, puedes crear un botón visible en la hoja. Así:
- Ve a Desarrollador → Insertar → Botón (control de formulario).
- Dibuja el botón en tu hoja con el cursor.
- En la ventana que aparece, selecciona la macro que quieres asignar y haz clic en Aceptar.
- Haz clic derecho sobre el botón y elige Modificar texto para escribir el nombre, por ejemplo:
Aplicar formato.
Ahora cualquier persona puede ejecutar la macro con un solo clic, sin saber nada de VBA.
El impacto real en tu trabajo
Un analista de datos en Bimbo que procesa reportes regionales cada semana puede ahorrar entre cuarenta y ochenta minutos semanales solo automatizando el formato y los cálculos iniciales. En un mes, eso es entre dos y cuatro horas de trabajo recuperadas. En un año, es tiempo real para analizar más profundo en lugar de repetir pasos mecánicos.
Las macros no reemplazan tu criterio analítico. Te liberan de las tareas mecánicas para que puedas enfocarte en lo que importa: interpretar los datos y tomar decisiones.
La mejor macro es la que haces una vez y ejecutas cien veces sin pensarlo.