Grabar macro en Excel y aplicarla a todas las hojas
La grabadora de macros en Excel nos permite crear macros para propósito específicos y aplicables a archivos que “casi” siempre tienen la misma estructura.
En este ejemplo veremos cómo grabar una macro para posteriormente modificado el código vba y éste sea más dinámico y aplicable a cualquier hoja de nuestro archivo.
Grabar una macro
Tenemos un archivo con 10 hojas, las cuales tienen reportes de ventas de distintas sucursales. Deseamos aplicarle formato a toda las tablas de toda las hojas.
Figura 1. Grabar macro para formatear una tabla.
Para grabar un macro nos vamos la pestaña Vista y elegir Macros > Grabar macro. A partir de que damos Aceptar todo lo que hagamos en Excel quedará grabado y se generará un código vba que puede ser manipulado.
Figura 2. Graba macro.
Al terminar de dar formato a la hoja, daremos clic en la parte inferior para para la grabación de la macro.
Figura 3. Detener la grabación de una macro.
Ver el video
Modificar código vba de la macro grabada
Al terminar de grabar la macro presionamos la combinación de teclas [Alt] + [F11] para abrir el IDE vba. Abrimos el contenido del Módulo 1 para apreciar el código generado por la macro.
Figura 4. Código vba generado por la grabadora de macros.
Él código mostrado en la Figura 4 podrá ser ejecutado cada vez en cada hoja del archivo, pero si lo que deseamos es ejecutar el código en todas las hojas, deberemos hacer una modificación en el código. Usaremos el constructor For each para recorrer todas las hojas y ejecutar la macro. A continuación les presento el código vba implementando For each.
Sub Macro1() ' For Each Hoja In ActiveWorkbook.Sheets Hoja.Select 'Aquí va el código generado por la macro. Next Hoja ' ActiveWorkbook.Sheets(1).Select End Sub
Descargar el ejemplo
Da clic aquí para descargar el ejemplo usado en este artículo y no olvides Suscribirte a mi canal de Youtube.