Usar el grabador de macros de excel

Usar el grabador de macros de Excel

Excel Macros VBA

Excel permite la automatización de infinidad de tareas a través de macros. Si sabes programar con VBA (Visual Basic para Aplicaciones es el lenguaje, de momento, usado por las aplicaciones de Microsoft Office), esto te abre un inmenso mundo de posibilidades. Sin embargo, para aquellos que no tienen ni idea de programación, existe una opción para automatizar tareas que es usar el grabador de macros de Excel.

Introducción

Este grabador, permite grabar una serie de acciones mientras se van ejecutando para luego reproducirlas de forma automática cada vez que las necesitemos ejecutar. Durante la grabación, el propio grabador se encarga de ir generando el código necesario para después ejecutarlo.

Este código no es el mas limpio y eficiente, pero funcionará para realizar la tarea grabada.

Si bien no es necesario tener conocimientos de programación ni VBA para utilizarlo, si que viene bien unos mínimos para poder editar las instrucciones grabadas y poder flexibilizar lo que dichas macros harán.

En esta primera parte de los dos artículos que voy a dedicar a este tema, aprenderás como habilitar la pestaña del programador, y cómo utilizar el grabador y ver el código grabado.

En la segunda parte verás cómo configurar la forma de ejecutarlo a voluntad y también veremos, aunque de forma muy breve, alguna sugerencia sobre como retocar dicho código para flexibilizarlo.

Habilitar la pestaña de programador

Para poder trabajar con macros, lo primero que debemos hacer es habilitar la pestaña de Programador. Ésta es lo que da acceso a todas las opciones relativas a macros y, por defecto, cuando instalas Office no está activada y, por tanto, no es visible ni accesible.

Para activarla, deberemos ir a Archivo, Opciones, Personalizar la cinta de opciones y, a la derecha veremos la lista de pestañas disponibles. Las que se encuentran marcadas son las que vemos en la cinta de opciones superior.

Usar el grabador de macros de Excel (Parte 1) - Habilitar pestaña de programador

Marca la casilla de verificación junto a Programador (si tienes instalado Excel con una opción de idioma diferente a es-es, puede ser que el nombre sea Desarrollador). Con esto, ya tendrás disponible dicha pestaña hasta que la vuelvas a deshabilitar.

La pestaña del Programador

Cuando hayas seguido los pasos anteriores, verás que tienes una nueva pestaña, de nombre Programador.

Pestaña del Programador

De momento, de todas las opciones disponibles, nos centraremos en las del bloque mas a la izquierda, Código. En ella disponemos de las siguientes opciones:

  • Visual Basic: esta opción abre el editor de Visual Basic. Déjame no ser muy estricto y decir que esto es un programa «paralelo» donde se escribe el código VBA que tendrá nuestro proyecto de macros.
  • Macro: está opción nos abre una ventana donde aparecerá el listado de todas las macros disponibles. Desde aquí las podremos ejecutar, ejecutar paso a paso (para ir viendo lo que hace y depurar el programa, si es que nos da algún fallo, eliminar, etc)
  • Grabar macro: este botón lanzará el grabado automático. Todo lo que hagamos a partir de habe hecho click se irá grabando, hasta que pulsemos de nuevo sobre él (realmente, sobre el mismo sitio, porque la leyenda habrá cambiado a Detener grabación)
  • Usar referencias relativas: cambia las opciones de grabación entre referencias relativas y absolutas. Por defecto, se graban las macros con referencias absolutas
  • Seguridad de macros: permite configurar las opciones de Excel para la ejecución de macros.

Grabar la primera macro

Descripción del proceso a automatizar

La macro que vamos a grabar para aprender a usar el grabador de macros de Excel se basa en un libro que contiene dos hojas. En ellas tenemos los datos de diferentes días consecutivos. La fecha del primer día, se debe introducir en la primera hoja (Lunes) y la otra hoja calcula su fecha como la fecha introducida +1, es decir, introduciendo esa primer fecha, el resto se calculan de forma automática.

Una vez actualizada la fecha, queremos que la macro imprima los datos a un fichero pdf único.

Usar el grabador de macros de Excel - Ejemplo
Realizando la grabación

Si bien la macro grabada se puede posteriormente editar y modificar, es bueno cuando se va a grabar una, realizar el proceso un par de veces, a modo de prueba, antes de la grabación. Eso nos ayudará a tener claros los pasos a seguir y evitaremos grabar acciones innecesarias.

Cuando estemos listos, haremos click en la opción antes vista de Grabar macro. También podemos usar el atajo disponible en la esquina inferior izquierda (un símbolo de hoja Excel con un circulo arriba a la izquierda del tipo REC).

Botón de atajo de grabar macro

En ese mismo sitio, tendremos un botón para detener la grabación cuando estemos grabando.

Al lanzar la grabación, sea por un método o por el otro, nos aparecerá una ventana donde podremos elegir el nombre a dar a la macro. Por defecto nos propone MacroX donde X es un número correlativo que Excel se encarga de controlar. Definido este nombre (que no puede contener espacios ni caracteres especiales), haciendo click en aceptar, entramos en el modo de grabación.

Comenzaremos entonces a grabar las acciones necesarias y, una vez hayamos terminado, haremos click en Detener grabación.

Tendremos la precaución de guardar el libro para no perder la macro y habremos concluido este paso.

En este punto es importante señalar que, en las últimas versiones de Excel, la extensión xlsx no permite el guardado de macros. Para poder guardarlas, tendremos que cambiar la extensión a xlsm.

Si usas macros habitualmente, tal vez te convenga configurar en Opciones, Guardar que, por defecto, los libros se guarden siempre como xlsm. De esta forma no te encontrarás con que tienes un libro con el que llevas tiempo trabajando y que pueda ser referido desde otros, al que al querer incorporar macros le debes cambiar el nombre y tienes que revisar todos los libros que lo vinculan.

Acciones grabadas

En este ejemplo, las acciones que habremos grabado serán:

  • Situarnos en la celda B1 de la hoja Lunes e introducir la fecha deseada. En este caso, 16/08/2020
  • Ir a la opción de Archivo, Guardar como
  • Seleccionar la opción de guardar como pdf
  • Hacer click en Mas opciones…
  • Definir la ruta y el nombre con que queremos guardar el documento, si es distinto del que tiene
  • Hacer click en el botón Opciones
  • Seleccionar la opción de publicar todo el libro
  • Aceptar las opciones
  • Hacer click en Guardar

Ver el código grabado

El último paso de este artículo sobre como usar el grabador de macros de Excel es visualizar el código grabado.

Para ello, existen varias opciones. Pruébalas y decide con cual te encuentras mas cómodo:

  • Menú Programador, botón Visual Basic. Esto abre el editor de VBA desde donde podrás visualizar el código
  • Menú Programador, botón Macros. Aquí verás la lista de macros existente y podrás seleccionar la que quieras ver. Cunado la hayas seleccionado, haz click sobre el botón Modificar y te llevará al editor de VBA
  • Con la combinación de teclas Alt + F11. Esto abrirá directamente el editor de VBA

Cualquiera de ellas nos llevará a ver el código grabado, que puedes ver en la siguiente imagen.

Usar el grabador de macros de Excel (Parte 1) - Código grabado con el grabador de macros de Excel

Conclusión

Hasta aquí, los objetivos de esta primera parte sobre como usar el grabador de macros de Excel.

En el siguiente artículo veremos como ejecutar la macro cuando lo necesitemos y revisaremos alguno de los aspectos del código creado que es interesante conocer para flexibilizar su ejecución y evitar algunos posibles errores.

Mientras tanto, igual tienes curiosidad por ver algunos consejos interesantes en el artículo sobre Buenas prácticas en VBA o echar un vistazo a algunas prácticas rutinas en el artículo Biblioteca de rutinas vba.

También te reocmiendo que si estás interesado en profundizar en el mundo de la programación demacros, comiences a construir una biblioteca. Para ello te dejo un enlace a un bueno libro para comenzar: VBA Excel 2013. Programación En Excel. Macros Y Lenguaje VBA.

Continúa leyendo la segunda parte de este artículo aquí.

Deja una respuesta