Imagina que tienes un "robot" dentro de Excel que puede recordar cada clic, cada tecla que presionas y cada decisión que tomas. Eso es una Macro.
Una macro es una serie de instrucciones que se graban o escriben para ejecutar tareas repetitivas de forma automática. Detrás de escena, todo lo que hace este robot se traduce a un lenguaje de programación llamado VBA (Visual Basic for Applications).
Formatear reportes mensuales en 1 segundo o limpiar datos "sucios" de sistemas externos.
Crear ventanas y formularios emergentes para que otros usuarios capturen datos sin errores.
¿Excel no tiene la fórmula que necesitas? Con VBA puedes crear tus propias funciones personalizadas.
Las macros pueden contener virus, por lo que Excel las bloquea por defecto. Para guardar tu trabajo, NO uses el clásico .xlsx. Debes guardar tus archivos como:
Libro de Excel habilitado para macros (.xlsm)
Por defecto, las herramientas de poder están ocultas. Sigue estos pasos:
Es la forma más fácil de crear código sin saber programar. Excel "observa" lo que haces y escribe el código VBA por ti. Pero cuidado, existen dos modos de grabación:
Si grabas seleccionando la celda A1, la macro SIEMPRE irá a A1, no importa dónde estés antes. Es el comportamiento por defecto.
La macro actúa respecto a la "celda activa". Si estás en B5 y grabas "moverme una a la derecha", la macro se moverá una a la derecha desde donde estés en el futuro.
Vamos a crear un sistema que limpie automáticamente una tabla de reporte (quitando colores y bordes) para dejarla lista para nuevos datos.
Crea una tabla en el rango A1:D10 con nombres y montos ficticios. Aplícale colores de fondo chillantes, bordes gruesos y fuentes raras. ¡Ensúciala a propósito!
LimpiarReporte (Sin espacios). Guardar en: "Este libro". Aceptar.No obligues al usuario a buscar la macro en menús. Dale un botón.
LimpiarReporte y Aceptar.Vamos a hacer que Excel nos salude al terminar. Entraremos a las entrañas de la macro.
Alt + F11 para abrir el Editor VBA.Módulo1.End Sub al final.¡Vuelve a Excel y presiona tu botón para ver el resultado!