Como Ejecutar automáticamente una macro al abrir un libro

Índice
  1. Ejecute la macro al abrir el libro que contiene la macro
  2. Ejecute macro cuando se abra cualquier 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:

  1. Ejecute la macro al abrir el libro que contiene la macro.
  2. 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).

Ejecute macro en Open VBE Editor

Haga doble clic en Este libro de trabajo desde la ventana del Explorador de proyectos

Ejecutar macro en libro abierto

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.

Ejecutar macro en mensaje de libro abierto

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

Ejecute macro en cualquier libro abierto

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.

Ejecutar macro en cualquier mensaje abierto de libroEjecutar macro en cualquier mensaje abierto de libro de trabajo

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

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir

Este sitio web utiliza cookies para mejorar la experiencia del usuario y garantizar un funcionamiento eficiente. Al utilizar nuestro sitio web, aceptas todas las cookies de acuerdo con nuestra política de cookies. Leer mas...