È possibile fare in modo che Excel esegua automaticamente una procedura ogni volta che viene aperta una particolare cartella di lavoro. Ad esempio, quando la cartella di lavoro viene aperta, potresti voler eseguire una procedura che chiede agli utenti se desiderano eseguire alcune attività, come salvare i dati del giorno precedente in un altro file.

Per eseguire automaticamente una procedura all’apertura di una cartella di lavoro, è sufficiente denominare la procedura Auto_Open (). Pertanto, la seguente procedura verrà eseguita automaticamente ogni volta che viene aperta la cartella di lavoro che la contiene:

Sub Auto_Open()

Dim strMsg As String     Dim intBoxType As Integer     Dim strTitle As String     Dim intUpdate As Integer     Dim strDefault As String     Dim strOldFile As String     Dim intStatusState As Integer

strMsg = "Do you want to save yesterday's transactions?"

intBoxType = vbYesNo + vbQuestion     strTitle = "Automatic Backup Routine"

intUpdate = MsgBox(Msg, BoxType, Title)

If intUpdate = vbYes Then         strMsg = "Which filename would you like use?"

strDefault = "OLD.DAT"

strOldFile = InputBox(strMsg, strTitle, strDefault)

intStatusState = Application.DisplayStatusBar         Application.DisplayStatusBar = True         Application.StatusBar = "Updating past months..."

UpdateYesterday         Application.StatusBar = False         Application.DisplayStatusBar = intStatusState     End If End Sub

(Ricorda che questa procedura è un esempio; non funzionerà correttamente sul tuo sistema perché chiama una funzione chiamata UpdateYesterday, che esegue l’aggiornamento vero e proprio.)

Questa macro viene eseguita automaticamente ogni volta che viene aperta la cartella di lavoro a cui è collegata. Puoi anche modificare il codice e inserirlo nell’oggetto ThisWorkbook semplicemente cambiando la prima riga in questo:

Private Sub Workbook_Open()

Molte persone considerano l’utilizzo di Auto_Open come “vecchio modo” di questo tipo di macro e Workbook_Open come “nuovo modo”. In un certo senso questo è vero; il metodo Workbook_Open è un approccio più orientato agli oggetti a questo tipo di macro rispetto a Auto_Open. In pratica, tuttavia, c’è pochissima differenza tra i due.

_Nota: _

Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.

ExcelTips è la tua fonte di formazione economica su Microsoft Excel.

Questo suggerimento (2289) si applica a Microsoft Excel 97, 2000, 2002 e 2003. Puoi trovare una versione di questo suggerimento per l’interfaccia a nastro di Excel (Excel 2007 e versioni successive) qui: