Una macro consiste en una serie de comandos y funciones que se almacenan en un módulo de Microsoft Visual Basic y que puede ejecutarse siempre que sea necesario realizar la tarea.
Crear una macro desde la grabadora
1.- Desde el menú Vista, seleccionamos Macro, y a continuación Grabar nueva macro....Nos aparecerá una cuadro de dialogo, ahi deberemos indicar el nombre que queremos darle a nuestra macro, si no deseamos dejar el que nos da por defecto excel (Macro1, Macro2, Macro3, etc.). Los nombres de las macros tienen ciertas limitaciones, como por ejemplo que no pueden empezar por un número, ni por un guión, ni pueden tener nombres compuestos, es decir, nombres con más de una palabra,…para solventar esto último, podemos utilizar el guión bajo si queremos darle a la macro un nombre más descriptivo.
Una vez informado del nombre de nuestra macro, pulsaremos el botón de aceptar, tal y como aparece en la siguiente imagen:
Ya solo nos quedará realizar algunas operaciones o tareas que queremos programar en la hoja de cálculo, por ejemplo, cambiar el dato de una celda, imprimir la hoja, y guardar y cerrar el libro de excel. Una vez que hayamos realizado esas tareas repetitivas que queremos que realice la macro, solo nos quedará detener la grabación de la macro, pulsando el cuadro azul que se encuentra en la parte inferior derecha de nuestra pantalla o desde el menu Vista, despues seleccionamos macros y damos clic en Detener grabacion.
Crear una macro desde el editor de VBA
2.- La otra opción, es ir directamente al modo VBA (Visual Basic for Applications), lo que nos permitirá introducir las líneas de programación directamente, y donde veremos también el código que genera Excel, tras utilizar la grabadora de macros. Para entrar en modo VBA, tan solo deberemos pulsar la tecla Alt y sin soltarla, pulsar también la tecla F11. De esa forma, nos aparecerá una ventana donde a la izquierda nos aparecerán por defecto los proyectos, y las propiedades de los objetos. Para poder comenzar a introducir unas líneas de código o la macro, de esta forma, tenemos dos opciones:
a) Crear la macro seleccionando en la parte correspondiente al proyecto, la carpeta llamada Microsoft Excel Objetos, y dentro de ella, pulsando sobre ThisWorkbook. Si cliqueamos dos veces sobre ThisWorkbook, nos aparecerá una ventana en blanco a la derecha, para comenzar a programar.
b) Crear el macro en un módulo. Por defecto un libro de excel nos viene sin módulos, para lo cual, tendremos que crearlo desde el menú de VBA Insertar, y seleccionando Módulo. Una vez hecho eso, veremos una nueva carpeta llamada Módulos, al mismo nivel que la de Microsoft Excel Objetos, y dentro un módulo llamado Módulo1 (al que se le puede cambiar el nombre, si lo deseamos). De esta otra forma, también nos aparecerá una ventana a la derecha para comenzar a programar, si cliqueamos dos veces sobre Módulo1.
A modo de ejemplo, vamos a programar unas líneas en una macro, en un procedimiento que grabaremos en el Módulo1, con el nombre de mi_macro, dentro de un libro nuevo de Excel:
Sub mi_macros() 'Escribimos algo en la celda A1 Range("A1") = "Este es mi primer macro en excel." End Sub
Ahora cerraremos la ventana de Microsoft Visual Basic donde hemos introducido esa macro, y desde Excel, vamos a ver lo que hace la macro. Para verlo en funcionamiento, tenemos varias opciones, unade ellas es asociar el macro a un botón (la mejor y más rápida, pues en cuanto presionemos el botónen en cuestión de segundos, se ejecutará la macro), y otra que es la que usaremos ahora, para comenzar a ejecutar la macro. Nos vamos al Menu Vista, selecciona Macro, a continuación Ver Macros..., sitúate sobre mi_macro y pulsamos el botón Ejecutar.