Ejecutar una macro
Ejecutar una macro
Excel ofrece varias maneras de ejecutar una macro. Una macro es una acción o un conjunto de acciones que permiten automatizar tareas. Para ejecutar una macro, puede hacer lo siguiente:
- Vaya a la pestaña Programador y, en el grupo Código, haga clic en Macros
- Presione Ctrl más una tecla de método abreviado (método abreviado: tecla o combinación de teclas de función, como F5 o CTRL+A, que utiliza para ejecutar un comando. Una tecla de acceso, por lo contrario es un combinación de teclas, como ALT+F, que mueve el foco a un menú, comando o control.), según la configuración de ejecución de la macro.
- Haga clic en un botón de la barra de herramientas de acceso rápido o en un grupo personalizado de la cinta.
- Haga clic en un área de un objeto, gráfico o control.
- Ejecute automáticamente una macro cuando se abre un libro.
- Ejecutar una macro
- Ejecutar una macro presionando Ctrl más una tecla de método abreviado
- Ejecutar una macro haciendo clic en un botón de la barra de herramientas de acceso rápido
- Ejecutar una macro mediante un botón de un grupo personalizado de la cinta de opciones
- Ejecutar una macro haciendo clic en un área de un objeto gráfico
- Configurar una macro para que se ejecute al abrirse un libro
Ejecutar una macro
Antes de ejecutar macros
Es posible que deba modificar algunas opciones de configuración de Excel para poder ejecutar macros:
- Si la pestaña Programador no está disponible, haga lo siguiente para mostrarla:
- Haga clic en la pestaña Archivo, elija Opciones y, a continuación, haga clic en la categoría Personalizar cinta de opciones.
- En la lista Pestañas principales, active la casilla Programador y haga clic en Aceptar.
- Para establecer el nivel de seguridad de manera que estén habilitadas temporalmente todas las macros, haga lo siguiente:
- En la pestaña Programador, en el grupo Código, haga clic en Seguridad de macros.
- En la categoría Configuración de macros, en Configuración de macros, haga clic en Habilitar todas las macros (no recomendado; puede ejecutarse código posiblemente peligroso) y, a continuación, haga clic en Aceptar.
Nota Para ayudar a evitar que se ejecute código potencialmente peligroso, vuelva a cualquiera de las configuraciones que deshabilitan todas las macros cuando termine de trabajar con las macros.
Ejecutar la macro
- Abra el libro que contiene la macro.
- En la pestaña Programador, en el grupo Código, haga clic en Macros.
- En el cuadro Nombre de la macro, haga clic en la macro que desea ejecutar.
- Siga uno de los procedimientos siguientes:
- Para ejecutar una macro en un libro de Excel, haga clic en Ejecutar.
Sugerencia También puede presionar CTRL+F8 para ejecutar la macro. Puede interrumpir la ejecución de la macro presionando Esc. - Para ejecutar una macro desde un módulo de Microsoft Visual Basic para Aplicaciones (VBA), haga clic en Editar y, en el menú Ejecutar, haga clic en Ejecutar Sub/UserFormo presione F5.
Ejecutar una macro presionando Ctrl más una tecla de método abreviado
- Si la pestaña Programador no está disponible, haga lo siguiente para mostrarla:
- Haga clic en la pestaña Archivo, elija Opciones y, a continuación, haga clic en la categoría Personalizar cinta de opciones.
- En la lista Pestañas principales, active la casilla de verificación Programador y haga clic en Aceptar.
- En la pestaña Programador, en el grupo Código, haga clic en Macros.
- En el cuadro Nombre de la macro, haga clic en la macro a la que desea asignar una combinación de teclas con Ctrl.
- Haga clic en Opciones. Aparecerá el cuadro de diálogo Opciones de la macro.
- En el cuadro Tecla de método abreviado, escriba cualquier letra minúscula o mayúscula que desee usar con la tecla Ctrl.
Nota La tecla de método abreviado invalidará cualquier tecla de método abreviado predeterminada equivalente en Excel mientras esté abierto el libro que contiene la macro.
- Escriba una descripción de la macro en el cuadro Descripción.
- Haga clic en Aceptar para guardar los cambios y, a continuación, en Cancelar para cerrar el cuadro de diálogo Macro.
Ejecutar una macro haciendo clic en un botón de la barra de herramientas de acceso rápido
Para ejecutar una macro desde un botón de la barra de herramientas de acceso rápido, primero debe agregar el botón a la barra de herramientas. Para ello:
- Haga clic en la pestaña Archivo, en Opciones y haga clic en Barra de herramientas de acceso rápido.
- En la lista Comandos disponibles en, seleccione Macros.
- En la lista, haga clic en la macro que creó y, a continuación, en Agregar.
- Para cambiar la imagen del botón de la macro, seleccione la macro en el cuadro al que la agregó y haga clic en Modificar.
- En Símbolo, haga clic en la imagen de botón que desea.
- Para cambiar el nombre de la macro que aparece al posicionar el cursor sobre el botón, escriba el nombre que desea en el cuadro Nombre para mostrar.
- Haga clic en Aceptar para agregar el botón de la macro a la barra de herramientas de acceso rápido.
- En la Barra de herramientas de acceso rápido, haga clic en el botón de la macro que acaba de agregar.
Ejecutar una macro mediante un botón de un grupo personalizado de la cinta de opciones
Si aprovecha la capacidad de personalización de la cinta de opciones, puede crear un grupo personalizado que aparezca en una pestaña de la cinta de opciones y, a continuación, asignar una macro a un botón de ese grupo. Por ejemplo, puede agregar un grupo personalizado denominado "Mis macros" a la pestaña Programador, y agregar una macro al nuevo grupo que aparece como un botón.
Ejecutar una macro haciendo clic en un área de un objeto gráfico
Puede crear una zona activa en un gráfico donde los usuarios pueden hacer clic para ejecutar una macro.
- En la hoja de cálculo, inserte un objeto gráfico, como una imagen, una imagen prediseñada, una forma o un gráfico SmartArt.
- Para crear una zona activa en el objeto existente, en la pestaña Insertar, en el grupo Ilustraciones, haga clic en Formas, seleccione la forma que desea usar y, a continuación, dibuje dicha forma en el objeto existente.
- Haga clic con el botón secundario en la zona activa que ha creado y, a continuación, elija Asignar macro.
- Seleccione la macro que desee usar y haga clic en Aceptar.
- Vuelva a hacer clic con el botón secundario en la forma y haga clic en Formato de forma.
Aparece el panel de tareas Formato de forma.
- En Relleno, haga clic en Sin relleno y en Línea, seleccione Sin línea.
Configurar una macro para que se ejecute al abrirse un libro
Si graba una macro y la guarda con el nombre "Auto_abrir", la macro se ejecutará cada vez que se abra el libro que contiene la macro. Otra forma de ejecutar automáticamente una macro al abrir un libro es escribir un procedimiento de VBA en el evento Open del libro usando el Editor de Visual Basic (Editor de Visual Basic: entorno en el que puede escribir y modificar código y procedimientos de Visual Basic para Aplicaciones. El Editor de Visual Basic contiene un conjunto completo de herramientas de depuración para buscar sintaxis, tiempo de ejecución y problemas lógicos en el código en uso.). El evento Open es un evento de libro integrado que ejecuta su código de macro cada vez que se abre el libro.
Crear una macro Auto_abrir
- Si la pestaña Programador no está disponible, haga lo siguiente para mostrarla:
- Haga clic en la pestaña Archivo y, a continuación, elija Opciones.
- En la categoría Personalizar cinta, en la lista Pestañas principales, active la casilla Programador y, a continuación, haga clic en Aceptar.
- Si recibe un mensaje de advertencia sobre macros, necesitará establecer el nivel de seguridad temporalmente para habilitar todas las macros.
- En la pestaña Programador, en el grupo Código, haga clic en Seguridad de macros.
- En la categoría Configuración de macros, bajo Configuración de macros, haga clic en Habilitar todas las macros (no recomendado; puede ejecutarse código posiblemente peligroso) y, a continuación, haga clic en Aceptar.
Nota Para ayudar a evitar que se ejecute código potencialmente peligroso, recomendamos que vuelva a cualquiera de las configuraciones que deshabilitan todas las macros cuando termine de trabajar con las macros.
- En la pestaña Programador, en el grupo Código, haga clic en Seguridad de macros.
- Si desea guardar la macro con un libro determinado, abra primero ese libro.
- En la pestaña Programador, en el grupo Código, haga clic en Grabar macro.
- En el cuadro Nombre de la macro, escriba Auto_abrir.
- En la lista Guardar macro en, seleccione el libro donde desea almacenar la macro.
Sugerencia Si quiere que una macro esté disponible cuando use Excel, seleccione Libro de macros personal. Al seleccionar esta opción, Excel crea un libro oculto de macros personal (Personal.xlsb), si aún no existe, y guarda la macro allí.
En Windows 7, Personal.xlsb se guarda en n C:\Usuarios\nombre de usuario\AppData\Roaming\Microsoft\Excel\XLStart. En Windows Vista, este libro se guarda en la carpeta C:\Usuarios\nombre de usuario\AppData\Local\Microsoft\Excel\XLStart. Si no lo encuentra aquí, es posible que se haya guardado en la subcarpeta Roaming, en lugar de en Local. Los libros almacenados en la carpeta XLStart se abren automáticamente al iniciar Excel.
Si desea que se inicie automáticamente una macro del libro de macros personal en otro libro, también debe guardar ese libro en la carpeta XLStart, de forma que ambos libros se abran cuando se inicie Excel.
- Haga clic en Aceptar y realice las acciones que desea grabar.
- Cuando haya grabado todas las acciones, en la pestaña Programador, en el grupo Código, haga clic en Detener grabación .
Sugerencia También puede hacer clic en Detener grabación en el lado izquierdo de la barra de estado.
Notas
- Si en el paso 6 eligió guardar la macro en Este libro o en Libro nuevo, guarde o mueva el libro a la carpeta XLStart del PC.
- La grabación de una macro Auto_abrir tiene las limitaciones siguientes:
- Si el libro en donde se guarda la macro Auto_abrir ya contiene un procedimiento de VBA en su evento Open, el procedimiento de VBA del evento Open invalidará todas las acciones contenidas en la macro Auto_abrir.
- Las macros Auto_abrir se omiten cuando se abren libros mediante programación utilizando el método Open.
- Una macro Auto_abrir se ejecuta antes de que se abra cualquier otro libro. Por lo tanto, si graba acciones que desea que realice Excel en el libro predeterminado Libro1 o en un libro cargado desde la carpeta XLStart, la macro Auto_abrir producirá un error cuando reinicie Excel porque la macro se ejecuta antes de abrir los libros de inicio y el predeterminado.
Si encuentra estas limitaciones, en lugar de grabar una macro Auto_abrir, debe crear un procedimiento de VBA para el evento Open como se describe en la siguiente sección de este artículo.
- Si desea iniciar Excel sin ejecutar una macro Auto_abrir, mantenga presionada la tecla Mayús al abrir el programa.
Crear un procedimiento de VBA para el evento Open de un libro
El ejemplo siguiente utiliza el evento Open para ejecutar una macro al abrir el libro.
- Si la pestaña Programador no está disponible, haga lo siguiente para mostrarla:
- Haga clic en la pestaña Archivo y, a continuación, elija Opciones.
- En la categoría Personalizar cinta, en la lista Pestañas principales, active la casilla Programador y, a continuación, haga clic en Aceptar.
- Si recibe un mensaje de advertencia sobre macros, necesitará establecer el nivel de seguridad temporalmente para habilitar todas las macros.
- En la pestaña Programador, en el grupo Código, haga clic en Seguridad de macros.
- En la categoría Configuración de macros, bajo Configuración de macros, haga clic en Habilitar todas las macros (no recomendado; puede ejecutarse código posiblemente peligroso) y, a continuación, haga clic en Aceptar.
Nota Para ayudar a evitar que se ejecute código potencialmente peligroso, recomendamos que vuelva a cualquiera de las configuraciones que deshabilitan todas las macros cuando termine de trabajar con las macros.
- En la pestaña Programador, en el grupo Código, haga clic en Seguridad de macros.
- Guarde y cierre todos los libros abiertos.
- Abra el libro donde desea agregar la macro o cree un nuevo libro.
- En la pestaña Programador, en el grupo Código, haga clic en Visual Basic.
- En la ventana Explorador de proyectos, haga clic con el botón secundario en el objeto ThisWorkbook y, a continuación, haga clic en Ver código.
Sugerencia Si la ventana Explorador del proyecto no está visible, en el menú Vista, haga clic en Explorador del proyecto. - En la lista Objeto situada encima de la ventana Código (la palabra General), seleccione Libro. De esta manera se crea un procedimiento vacío para el evento Open, como el siguiente:
Private Sub Workbook_Open() End Sub
- Agregue las líneas de código siguientes al procedimiento:
Private Sub Workbook_Open() MsgBox Date Worksheets("Hoja1").Range("A1").Value = Date End Sub
- Cambie a Excel y guarde el libro como libro habilitado para macros (.xlsm).
- Cierre y vuelva a abrir el libro. Al abrir de nuevo el libro, Excel ejecuta el procedimiento Private Sub Workbook_Open, que muestra la fecha actual en un cuadro de mensaje.
- En el cuadro de mensaje, haga clic en Aceptar.
Observe que la celda A1 de la Hoja1 también contiene la fecha, como resultado de ejecutar el procedimiento Private Sub Workbook_Open.