Ejecutar macros al abrir un archivo en Excel con el evento Workbook_Open

El evento Workbook_Open lo uso constantemente para ejecutar algunas macros al momento de abrir mis archivos o incluso lo uso cuando toca desarrollar un add-in.

En este mismo Blog, podrás ver que en muchos ejemplos uso este evento. Da click aquí para ver los artículos.

Cómo lo hacemos

Usar el evento Workbook_Open realmente es tan sencillo, que pensarás que por que no habías usado antes.

  • Abrimos el IDE de vba. La manera más sencilla es presionar Alt + F11.
  • En la parte izquiera del IDE ubicamos el nombre del nuestro archivo y damos doble click sobre el objeto ThisWorkbook.

image

Figura 1. IDE de vba.

  • Para activar el evento Workbook_Open nos posicionamos en la parte derecha y damos click sobre el Como que dice (General) y elegimos Workbook.
  • Al dar click se añadirá el código necesario para para el evento.

image

Figura 2. Activando el evento Workbook_Ope en el IDE de vba.

El código que querramos que se ejecute irá entre las líneas Private Sub Workbook_Open() y End Sub.

Código vba de ejemplo

Para este artículo usaremos un ejemplo que mandará un mensaje dependiendo la hora en la que se abre el archivo, siendo Buenos días, tardes o noches.

image

Figura 3. Mensaje de bienvenida al abrir un archivo.

Usaremos el siguiente código vba para lograr lo anterior.

Private Sub Workbook_Open()

Dim HoraActual As Date

    HoraActual = Time

    Select Case HoraActual

    Case "00:00" To "05:59:59"
        MsgBox "Buenas noches"

    Case "06:00" To "11:59:59"
        MsgBox "Buenos días"

    Case "12:00" To "18:59:59"
        MsgBox "Buenas tardes"

    Case "19:00" To "23:59:59"
        MsgBox "Buenas noches"

    End Select

End Sub

Anexos

Artículos donde también usando el evento Workbook_Open:

También te podría gustar...