È possibile fare in modo che Excel esegua automaticamente una procedura ogni volta che viene aperta una determinata 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.

In realtà, Excel offre due modi diversi per eseguire una procedura all’apertura di una cartella di lavoro. In entrambi i casi, tutto ciò che devi fare è fornire un nome speciale per la macro; questo è l’indizio che dice a Excel che vuoi eseguire la procedura all’apertura. È possibile, se lo si desidera, denominare la procedura Auto_Open e inserirla in un normale modulo macro. È inoltre possibile definire una procedura chiamata Workbook_Open all’interno dell’oggetto ThisWorkbook.

Ad esempio, considera il seguente codice:

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 = "Do you want to save yesterday's transactions?"

iBoxType = vbYesNo + vbQuestion     iUpdate = MsgBox(sMsg, iBoxType, "Automatic Backup")

If iUpdate = vbYes Then         sMsg = "Which filename would you like use?"

sDefault = "OLD.DAT"

sOldFile = InputBox(sMsg, "Automatic Backup", sDefault)

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

UpdateYesterday(sOldFile)

Application.StatusBar = False         Application.DisplayStatusBar = iStatusState     End If End Sub

(Ricorda che questa procedura è un esempio; non verrà eseguita 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()

_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 (8451) si applica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 ed Excel in Office 365. Puoi trovare una versione di questo suggerimento per l’interfaccia del menu precedente di Excel qui: