Grabar macro en Excel y aplicarla a todas las hojas

image

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.

image

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.

image

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.

image

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.

image

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.

You may also like...