Scopri come eseguire macro Excel in automatico all'apertura del file!
Vuoi scoprire come eseguire macro Excel in automatico all'apertura del file? In questo articolo ti mostrerò come creare una macro, valida per tutte le versioni di Excel, che verrà eseguita in modo automatico all' apertura di un file Excel.
Come costruire una macro che si attiva automaticamente
Preparati a scoprire come eseguire automaticamente una macro in Excel all'apertura di una cartella di lavoro.
Innanzitutto, apriamo l’Editor VB (utilizza la scorciatoia da tastiera ALT + F11), aggiungiamo un modulo standard e creiamo la nostra macro che chiameremo AggiungiFoglioDataOggi.
Supponiamo di voler aggiungere un foglio di lavoro all’apertura del file e di rinominare il nuovo foglio con il nome della data odierna.
Il codice della macro Excel sarà il seguente:

All’interno della macro è stata inserita una istruzione If. Questa istruzione permetterà di mostrare il messaggio "Il foglio è già esistente." se il figlio di lavoro è già presente. Nel caso contrario, verrà creato con il nome della data di oggi. La posizione assegnata al foglio sarà l’ultima.
Se vuoi saperne di più sull’istruzione If Then Else, allora leggi il seguente articolo:
If Then Else: istruzione If in Excel VBA
Per poter eseguire la macro Excel in automatico, occorre identificare all’interno dell’Editor di Visual Basic l’oggetto Questa_cartella_di_lavoro (nel linguaggio VBA noto come ThisWorkbook) e successivamente fare doppio clic.

Ora occorre selezionare l’oggetto dal relativo menu a tendina.
Potrebbero interessarti anche i seguenti articoli:
- Maschere Excel: UserForm e pulsanti
- UserForm Excel: calcolo della media
- UserForm Excel: blocco del pulsante chiudi
- ListBox VBA Excel: casella di riepilogo
- ComboBox Excel con valore di default
- ComboBox Excel VBA: uso casella combinata
L’evento VBA Workbook_Open

All’interno del seguente evento è necessario richiamare la macro attraverso l’istruzione Call.

Grazie a questo codice Excel potrà abilitare la macro in automatico all’apertura della cartella di lavoro.
Se il foglio è già presente, il codice verrà ignorato uscendo direttamente dalla Sub.
Ricorda che per impostazione predefinita, le macro sono disabilitate. Questa impostazione è attiva per ragioni di sicurezza in Excel. Tuttavia, sarà sufficiente fare un clic su Abilita contenuto per poter eseguire la macro automaticamente.

Guarda questo video e scopri come eseguire una macro all’apertura di un file Excel attraverso un semplice esempio.
Spero l’articolo ti sia utile. Se ti va lascia pure un commento.
Buon lavoro!
Potrebbero interessarti anche i seguenti articoli:
Vuoi imparare a utilizzare il linguaggio Excel VBA?
Basta con i lavori noiosi e ripetitivi! Grazie al VBA puoi far lavorare Excel al tuo posto!
Ho registrato per te un corso interamente dedicato alle Macro e al VBA.
Attraverso degli esempi pratici, ti introdurrò, al mondo delle Macro di Excel illustrandoti tutto il potenziale per automatizzare le tue attività di lavoro quotidiane.
Cosa aspetti?
Sfrutta tutto il potenziale di Excel con il corso Macro e VBA!
Se invece volessi che mi aprisse un message Box differente per ogni sheet che ho nel mio file, in che senzione e cosa dovrei scrivere? ho gia provato con combinazioni tripo WorkSheetOpen o robe varie ma non riesco a raggiungere il mio obiettivo, grazie in anticipo
Ciao Alessandro,
inserisci i codici in ciascun modulo di foglio anziché in un modulo standard.
Ecco un esempio di codice:
Private Sub Worksheet_Activate()
MsgBox "Questo è il foglio " & ActiveSheet.Name
End Sub
Ciao, scusa il disturbo. ho un problema che non riesco davvero a risolvere.
Ho creato una userform che vorrei partisse all'apertura del file senza far vedere i fogli lavori e ho inserito il seguente codice:
Private Sub Workbook_Open()
Application.Visible = False
frm_Homepage.Show
End Sub
Funziona correttamente, ma non mi fa più aprire altri file excel fino a quando non chiudo la maschera. è possibile in qualche modo ovviare a questo problema?
Grazie in anticipo.
Carmine
Ciao Carmine,
per risolvere dovresti riabilitare la visibilità di Excel:
Application.Visible = True
Ma in questo modo l'utente vede anche i fogli di lavoro e potrebbe modificarli. cosa che vorrei non accadesse.
Giusto?
Esatto.
Però potresti apportare qualche modifica alla macro per nascondere i fogli e renderne visibile solo uno.
Ho notato che appena parte una userform mi impedisce di lavorare su altri file excel aperti in precedenza o di aprirne di nuovi. È possibile ovviare a questo problema?
Imposta la proprietà ShowModal della UserForm a False
grazie mille!!!!!!!!!!!!!