Como Ejecutar automáticamente una macro al abrir un libro
Hay muchas circunstancias en las que necesita que se ejecute una macro cuando se abre un libro. Podría ser uno de los siguientes:
- Mostrar un formulario de usuario que requiere entrada
- Activar un rango u objeto específico
- Para ejecutar un proceso que actualice los datos
- Verifique el nombre de usuario de la persona que accede al archivo
- Actualizar automáticamente los valores de las celdas
- Mostrar un mensaje informativo o instrucciones.
Si bien esta lista contiene algunas de las razones más comunes, hay un número casi infinito de circunstancias en las que esto sería útil.
Dentro de este ámbito existen dos conceptos diferentes:
- Ejecute la macro al abrir el libro que contiene la macro.
- Ejecute una macro cuando se abra cualquier libro.
Si bien pueden parecer similares, el proceso requerido es ligeramente diferente.
Nota: Es posible que deba habilitar la cinta de desarrollador para seguir este tutorial.
Ejecute la macro al abrir el libro que contiene la macro
Esta es la más fácil de las dos circunstancias.
Abra el Editor de Visual Basic (atajo: Alt+F11).
Haga doble clic en Este libro de trabajo desde la ventana del Explorador de proyectos
Ingrese el código a continuación en la ventana de código.
Private Sub Workbook_Open()MsgBox "Acabas de abrir" ThisWorkbook.NameEnd Sub
Guarde el archivo como un libro habilitado para macros (con una extensión de archivo .xlsm) y ciérrelo.
Abre el libro de nuevo – ¡¡¡ta-dah!!! La macro debería ejecutarse automáticamente.
Ejecute macro cuando se abra cualquier libro
Para que este código funcione es necesario crear una variable, que monitorea constantemente la aplicación Excel. El monitoreo de la aplicación comienza tan pronto como se abre el libro, lo cual ocurre en segundo plano. No sucederá nada hasta que abra otro libro.
Abra el Editor de Visual Basic (atajo: Alt+F11), como se muestra en el ejemplo anterior.
Haga doble clic en Este libro de trabajo desde la ventana del Explorador de proyectos
Ingrese las secciones de código a continuación en la ventana de código.
'Declarar la variable de evento de la aplicaciónPublic WithEvents MonitorApp como aplicación
'Establezca la variable de evento como Excel ApplicationPrivate Sub Workbook_Open()Set MonitorApp = ApplicationEnd Sub
'Esta macro se ejecutará cada vez que se abra un libro de ExcelPrivate Sub MonitorApp_WorkbookOpen(ByVal Wb As Workbook) MsgBox "Acabas de abrir" Wb.Name End Sub
Guarde el archivo como un libro habilitado para macros (con una extensión de archivo .xlsm) y ciérrelo.
Abra el libro de trabajo. Puede parecer que nada es diferente al primer ejemplo anterior, pero lo es, simplemente no puedes verlo. . . todavía. Abra algunos libros más. Verá que esta macro se ejecuta cada vez que se abre un libro.
Si abrimos un archivo de Excel sin nuestro archivo de macro abierto no pasará nada. Sin embargo, si el archivo de macro se abre primero, se activará la macro cada vez que se abra un libro. Si desea monitorear constantemente los archivos que se abren, es una buena idea incluir esta macro en su libro de macros personales, ya que este archivo se abre primero cuando se inicia la aplicación Excel.
Deja una respuesta