Ejecución de un procedimiento cuando se abre un libro de trabajo

October 31

Usted puede hacer que Excel para ejecutar un procedimiento de forma automática cada vez que se abre un libro en particular. Por ejemplo, cuando se abre el libro, es posible que desee ejecutar un procedimiento que pregunta a los usuarios si desean realizar alguna tarea, como guardar los datos del día anterior a otro archivo.

En realidad, Excel ofrece dos maneras diferentes que usted puede ejecutar un procedimiento cuando se abre un libro. En ambos casos, todo lo que tiene que hacer es proporcionar un nombre especial para la macro; esa es la clave de que le dice a Excel que desea ejecutar el procedimiento cuando se abre. Usted puede, si lo desea, el nombre del procedimiento Auto_Open y colocarlo en un módulo de macro regular. También puede definir un procedimiento llamado Workbook_Open dentro del objeto ThisWorkbook.

Como ejemplo, considere el siguiente código:

Sub Auto_Open ()
Dim sMsg As String
Dim iBoxType As Integer
Dim iUpdate As Integer
Dim sDefault As String
Dim sOldFile As String
Dim iStatusState As Integer

sMsg = "¿Quiere guardar las transacciones de ayer?"
iBoxType = vbYesNo + vbQuestion
iUpdate = MsgBox (sMsg, iBoxType, "Copia de seguridad automática")
Si iUpdate = vbYes Entonces
sMsg = "¿Qué nombre le gustaría usar?"
sDefault = "OLD.DAT"
sOldFile = InputBox (sMsg, "Automatic Backup", sDefault)
iStatusState = Application.DisplayStatusBar
Application.DisplayStatusBar = True
Application.StatusBar = "Actualización de los últimos meses ..."
UpdateYesterday (sOldFile)
Application.StatusBar = False
Application.DisplayStatusBar = iStatusState
End If
End Sub

(Recuerde que este procedimiento es un ejemplo, no va a funcionar correctamente en su sistema, ya que llama a una función llamada UpdateYesterday, lo que hace la actualización real.)

Esta macro se ejecuta automáticamente cada vez que se abre el libro al que está unido. También puede modificar el código y colocarlo dentro del objeto ThisWorkbook simplemente cambiando la primera línea a la siguiente:

Private Sub Workbook_Open ()

ExcelTips es su fuente de capacitación rentable Microsoft Excel. Esta punta (8451) se aplica a Microsoft Excel 2007, 2010, y 2013. Usted puede encontrar una versión de este consejo para el más viejo interfaz de menú de Excel aquí: Ejecución de un procedimiento cuando se abre un libro de trabajo.