Crear una macro de Excel usando la grabadora
Voy a mostrarte cómo puedes usar la grabadora de macros de Excel para crear tu primera macro. Todas las explicaciones que te dé acá están basadas en la versión 2016 de Excel.
Estos son los pasos que debes seguir:
Índice de contenido
Paso 1. Habilitar la ficha Desarrollador/Programador
Para poder trabajar con macros de Excel en las últimas versiones del programa, debes tener habilitada una pestaña o ítem de menú que te permite el acceso al entorno para desarrollar las macros, se le llama ficha Desarrollador (o Programador).
Pasos para habilitar la ficha Desarrollador en Excel:
-
Abre el programa Excel
-
Haz clic en el menú Archivo
-
Haz clic en Opciones
-
Haz clic en Personalizar Cinta de Opciones y luego haz clic para habilitar la ficha Desarrollador.
-
Presiona Aceptar
Una vez que hayas realizado los pasos anteriores verás en tu menú (ficha) de Excel un nuevo ítem llamado Desarrollador (o programador si usas versiones anteriores), tal como te muestro en esta imagen:
Paso 2. Grabar la macro con la secuencia de pasos de la tarea
Vamos a plantear el siguiente ejemplo de práctica:
Se tiene un libro de Excel con una hoja llamada “ingreso de datos“. La idea es que los datos que se van ingresando en esa hoja se vayan copiando de forma automática a otra hoja del libro llamada “Base de datos“, mediante una macro.
Además, queremos que los datos introducidos en la hoja “Ingreso de datos” se borren luego de ser copiados a la hoja “Base de datos“.
Descarga el libro AQUÍ.
Hoja “Ingreso de datos”
Los datos solo se ingresan a las celdas en color amarillo.
Hoja “Base de datos”
Tareas a grabar
Esta es la secuencia de la tareas que queremos grabar con la grabadora de macros de Excel
- Selecciona la hoja “Base de datos“.
- Inserta una fila entera justo debajo de la fila de los títulos (Nombre, Apellido…).
- Selecciona la hoja “Ingreso de datos“.
- Selecciona las celdas B3 a E3 en la hoja “Ingreso de datos“.
- Copia la selección del rango B3:E3 del paso anterior.
- Selecciona la hoja “Base de datos“.
- Selecciona la celda A2.
- Pega como valor el contenido del portapapeles (lo copiado en el paso 5). De esta forma se evita traer a la hoja “Base de datos” el formato que tienen los datos en la hoja “Ingreso de datos“.
- Si a pesar del paso anterior los datos pegados están en un formato que no deseas, haz el cambio que corresponda.
- Selecciona la hoja “Ingreso de datos“.
- Selecciona las celdas B3 a E3 y presiona la tecla SUPRIMIR.
Procedamos ahora a grabar esta secuencia de pasos, para ello haz lo siguiente:
- Haz clic en la pestaña Desarrollador en la cinta de opciones de Excel
- Selecciona la hoja “Ingreso de datos“
- Has clic sobre “Grabar macro“
- En el cuadro que aparece dale un nombre a tu macro. Ten en cuenta que no puedes dejar espacios en blanco.
- Presiona “Aceptar“. La grabadora de Excel empieza a registrar lo que hagas.
- Ejecuta los 11 pasos dados en el apartado anterior “Tareas a grabar“.
- Has clic en “Detener grabación” en la pestaña “Desarrollador“.
Paso 3. Ejecutar la macro grabada
Antes que nada debes saber que desde la versión 2007 de Excel el sistema solo permite ejecutar macros en libros de Excel habilitados para macros (extensión de archivo .xlsm), ya no permite hacerlo en libros de hojas de cálculo (extensión de archivo .xlsx). Por esta razón deberás guardar tus macros en libros de Excel habilitados para macros.
Además de lo anterior, debes tener en cuenta los niveles de seguridad que maneja Excel para permitirte ejecutar macros.
Lo recomendable es no permitir que Excel sea capaz de ejecutar macros que no sean nuestras o que no provengan de una fuente confiable. Esto por razones de seguridad informática, ya que pudiéramos estar ejecutando una macro que posee código malicioso.
Estas son las opciones de seguridad que tiene Excel para ejecutar macros:
- Deshabilitar todas las macros sin notificación
- Deshabilitar todas las macros con notificación
- Deshabilitar todas las macros excepto las firmadas digitalmente
- Habilitar todas las macros (lo menos recomendado)
Yo uso y recomiendo la tercera opción, de esa forma controlo cuál macro se ejecuta en mi equipo, pero, por ahora puedes seleccionar la opción “Habilitar todas la macros” para ejecutar la macro, para ello haz lo siguiente:
Selecciona la pestaña “Programador” en la cinta de opciones de Excel y luego en el grupo “Código” selecciona la opción “Seguridad de macros“, tal como se muestra en la siguiente imagen:
Más adelante te mostraré cómo crear un certificado digital en tu equipo y cómo utilizarlo para firmar las macros que vas a ejecutar.
Paso 3.1 Acceso rápido a la ejecución de la macro
Hay dos vías a través de la cuales puedes poner en marcha el código de la macro que grabaste al ejecutar el paso 2:
Vía 1:
Ir a la lista de macros en la ficha Programador, como se ilustra en la siguiente imagen:
Ahora solo debes escoger el nombre de la macro a ejecutar en el cuadro que aparece luego de hacer clic sobre la opción “Macros” de la ficha “Programador” y presionar el botón “Ejecutar“.
Vía 2:
Usar un botón para que la macro se ejecute al hacer clic sobre el mismo. Este botón puede ser de 3 tipos:
- Una forma de Excel
- Un control de formulario
- Un control ActiveX
A continuación vamos a ver cada uno en detalle.
Asociar macro a una forma de Excel
Haz clic en la ficha “Insertar” en la cinta de opciones, selecciona “Ilustraciones“, luego selecciona “Formas” y finalmente selecciona la forma a la que quieres asociar con una macro. Te lo muestro en la siguiente ilustración donde he escogido un rectángulo con esquinas redondeadas:
Una vez que hayas agregado la forma a la hoja, haz clic derecho sobre la misma y selecciona la opción “Asignar macro“, tal como te lo muestro en la siguiente imagen:
Procede ahora a seleccionar la macro que quieres asociar con la forma de Excel y presiona “Aceptar“:
Ahora haz clic fuera del botón (la forma) en cualquier parte de la hoja. Ya tu macro está lista para ejecutarse cada vez que hagas clic sobre la forma de Excel.
Finalmente, para darle un título a la forma, haz clic derecho sobre la misma, selecciona la opción “Editar texto” y escribe ahora el texto que deseas. También puedes hacer clic derecho sobre la forma para seleccionarla, luego hacer clic izquierdo sobre la misma y comenzar a escribir.
Asociar macro a un control de formulario
Haz clic en la ficha “Programador” en la cinta de opciones, presiona “Insertar” en el grupo “Controles” y selecciona el botón que se muestra en la siguiente imagen:
Ten presente que los botones están divididos en dos grupos: controles de formulario y controles ActiveX. No te confundas, en esta oportunidad debes escoger el botón en el grupo “controles de formulario“.
El puntero de tu mouse cambiará de forma una vez que escojas el botón. Procede a dibujar un rectángulo para dar forma a tu botón. Tan pronto como termines de dibujar tu botón utilizando el botón izquierdo del mouse te aparecerá un cuadro para que selecciones el nombre de la macro que quieres asociar con el control del formulario.
Ahora haz clic fuera del botón en cualquier parte de la hoja. Ya tu macro está lista para ejecutarse cada vez que hagas clic sobre el control de formulario de Excel.
Finalmente, para darle un título a tu control de formulario, haz clic derecho sobre el mismo, selecciona la opción “Editar texto” y escribe ahora el texto que deseas. También puedes hacer clic derecho sobre el control de formulario para seleccionarlo, luego hacer clic izquierdo sobre el mismo y comenzar a escribir.
Asociar macro a un control ActiveX
A diferencia de los casos en los que asociamos una macro a una forma de Excel o a un control de formulario, no se puede asociar directamente una macro de Excel con un control ActiveX, no de la misma forma. Podemos asociar el nombre de la macro con los dos primeros controles, como ya lo hemos visto, pero, para el caso del control ActiveX, lo que se debe hacer es asociar directamente el código de la macro con dicho control. Te mostraré cómo hacerlo:
- Haz clic en la ficha “Programador” en la cinta de opciones, presiona “Insertar” en el grupo “Controles” y selecciona el botón que se muestra en la siguiente imagen:
Nuevamente: ten presente que los botones están divididos en dos grupos (controles de formulario y controles ActiveX). No te confundas, ahora debes escoger el botón en el grupo “controles ActiveX“.
Dibuja el control de forma similar a como lo hiciste para el caso de usar un control de formulario.