Ejecutar una macro automáticamente al abrir un libro

Ejecutar una macro automáticamente al abrir un libro

 

Puede que desee que una macro grabada se ejecute automáticamente cuando usted abra un libro específico. En el siguiente procedimiento se usa un ejemplo para mostrar cómo funciona. Puede que también desee ejecutar macros automáticamente al iniciarse Excel.

Antes de empezar, asegúrese de que se muestre la pestaña Desarrollador en la cinta. Si no aparece, siga los pasos a continuación:

  1. Haga clic en Archivo > Opciones > Personalizar la Cinta.
  2. En Personalizar cinta de opciones, en el cuadro Pestañas principales, active la casilla Desarrollador.
  3. Haga clic en Aceptar.

Para usar el ejemplo que aparece abajo en su propio libro, cree hojas para cada día del mes y asigne a la pestaña de cada hoja el nombre correspondiente. Por ejemplo, asigne los nombres "1 de marzo", "2 de marzo", etc., hasta "31 de marzo". La macro se ejecutará automáticamente cuando abra el libro que muestra la pestaña del día de mes en curso.

  1. Haga clic en Desarrollador > Visual Basic.

Imagen de cinta de Excel

  1. Haga clic en Insertar > Módulo.
  2. En el módulo, inserte el siguiente código:
Private Sub Auto_Open()
  Dim vntToday As Variant
  vntToday = WorksheetFunction.Text(Date, "mmmm dd")
  On Error Resume Next
  Sheets(vntToday).Select
 If Err <> 0 Then
    MsgBox "Worksheet doesn't exist."
  Else
    Range("A1").Select
  End If
End Sub
  1. Cierre Visual Basic (no es necesario que guarde nada).
  2. Guarde el libro como libro de Excel habilitado para macros (*xlsm) y ciérrelo.

La próxima vez que abra el libro, se seleccionará la pestaña del día en curso, con el cursor situado en la celda A1. Si no existe la hoja de cálculo del día, aparecerá el mensaje “Worksheet doesn't exist”.

 Sugerencia    Podría crear un nuevo libro cada vez que empiece un mes y crear otra vez la macro para el nuevo libro.

 

Volver