Macros en Excel
¿Qué es un macro en Excel?
Una macro es un pedacito de código programado en VBA, el lenguaje de programación de Microsoft. Una macro en Excel es la automatización de una tarea sencilla o compleja en Excel. Una macro muy típica es aquella que nos permite copiar información de una hoja a otra de Excel a través de un botón para crear un registro (por ejemplo). Básicamente, el pedacito de código previamente comentado puede ser cualquier operación que puedas hacer en Excel mediante botones (normalmente) u otros elementos. Aunque también puedes hacer que sean macros que “salten” automáticamente. Por ejemplo, cuando seleccionas una celda o cambia un valor de una fórmula. Cosas como cambiar formatos, eliminar columnas, añadir filas, crear fórmulas, pegar imágenes, ordenar datos, insertar datos… cualquier cosa.
Entre el Sub y el End Sub es donde escribiremos nuestro código por ejemplo como en este caso:
Una macro es un pedacito de código programado en VBA, el lenguaje de programación de Microsoft. Una macro en Excel es la automatización de una tarea sencilla o compleja en Excel. Una macro muy típica es aquella que nos permite copiar información de una hoja a otra de Excel a través de un botón para crear un registro (por ejemplo). Básicamente, el pedacito de código previamente comentado puede ser cualquier operación que puedas hacer en Excel mediante botones (normalmente) u otros elementos. Aunque también puedes hacer que sean macros que “salten” automáticamente. Por ejemplo, cuando seleccionas una celda o cambia un valor de una fórmula. Cosas como cambiar formatos, eliminar columnas, añadir filas, crear fórmulas, pegar imágenes, ordenar datos, insertar datos… cualquier cosa.
Este pedacito de código, en VBA siempre tiene la siguiente forma (manera de escribirse):
En la imagen anterior vemos dos líneas en verde, son los comentarios que van precedidos, para que VBA los entienda como tales, de una comilla simple.
En negro está escrita una línea de código que hará saltar el mensaje <<Subscríbete a este blog, es gratis.>> cada vez que se ejecute una macro.
Para ejecutar la macro presionamos la tecla F5 de nuestro teclado mientras el cursor está situado en alguna línea de la macro. El resultado será el siguiente:
Merece la pena conocer el atributo Public/Private de una Subrutina (macro). Antes de la palabra Sub de nuestra macro podemos poner la palabra Public o Private aunque, por defecto, VBA entiende que toda macro es del tipo Public con lo que ello conlleva y que te explicaré a continuación.
La definición de cada una de ellas sería:
Public: puede accederse a ella desde otro módulo y es visible desde la ventana de Desarrollador.
Private: es una macro que no puede llamarse desde otro módulo y tampoco desde la ventana de desarrollador.
Normalmente añadiremos el atributo Private cuando tengamos muchas macros y no nos apoyemos en algunas para ejecutar nuestro módulo pero que no son necesarias que sean visibles.
¿Qué cosas puedo hacer con una macro en excel?
En Excel podemos hacer macros para casi todo lo que se nos ocurra. La mayoría de las personas crean una macro en Excel para automatizar algunas tareas sencillas (o complejas) aunque su potencia es mucho mayor. Algunos ejemplos que puedes ver en esta web son:
- Copiar un rango de celdas de una hoja a otra
- Copiar datos de un libro de Excel a otro
- Copiar un gráfico de Excel a PowerPoint
- Crear una función de Excel que no existe