Macro di Excel: configurazione di una macro

È possibile registrare una macro e salvarla con il nome Auto_Open per eseguirla ogni volta che si apre la cartella di lavoro che contiene questa macro.

Puoi anche scrivere codice VBA per lo stesso scopo con l'evento Open della cartella di lavoro. L'evento Open esegue il codice nella procedura secondaria Workbook_Open () ogni volta che si apre la cartella di lavoro.

Registrazione di una macro Auto_Open

È possibile registrare una macro Auto_Run come segue:

  • Fare clic sulla scheda VISTA sulla barra multifunzione.
  • Fare clic su Macro.
  • Fare clic su Registra macro. Viene visualizzata la finestra di dialogo Registra macro.
  • Digitare Auto_Run per il nome della macro.
  • Digita una descrizione e fai clic su OK.
  • Inizia a registrare la macro.
  • Interrompi la registrazione.
  • Salva la cartella di lavoro come cartella di lavoro abilitata per le macro.
  • Chiudi la cartella di lavoro.
  • Apri la cartella di lavoro. La macro Auto_Run verrà eseguita automaticamente.

Se desideri che Excel si avvii senza eseguire una macro Auto_Open, tieni premuto il tasto MAIUSC quando avvii Excel.

Limitazioni di Auto_Open Macro

Di seguito sono riportati i limiti della macro Auto_Open:

  • Se la cartella di lavoro in cui è stata salvata la macro Auto_apri contiene il codice per l'evento Apri cartella di lavoro, il codice per l'evento Open sovrascriverà le azioni nella macro Auto_apri.

  • Una macro Auto_Open viene ignorata quando la cartella di lavoro viene aperta eseguendo codice che utilizza il metodo Open.

  • Una macro Auto_Open viene eseguita prima dell'apertura di qualsiasi altra cartella di lavoro. Pertanto, se si registrano le azioni che si desidera che Excel esegua sulla cartella di lavoro predefinita Book1 o su una cartella di lavoro caricata dalla cartella XLStart, la macro Auto_Open avrà esito negativo al riavvio di Excel, perché la macro viene eseguita prima dell'apertura delle cartelle di lavoro predefinite e di avvio .

Se si verifica una di queste limitazioni, invece di registrare una macro Auto_Open, è necessario scrivere un codice per l'evento Open come descritto nella sezione successiva.

Codice VBA per evento aperto di una cartella di lavoro

Puoi scrivere codice che verrà eseguito quando apri una cartella di lavoro. VBA fornisce un evento chiamato open che incorpora una procedura VBA per le azioni da eseguire all'apertura di una cartella di lavoro.

Apri la cartella di lavoro in cui hai memorizzato la macro che hai scritto per i riferimenti assoluti - Report_ProjectXYZ. Quando questa macro viene eseguita, un nuovo foglio di lavoro verrà aggiunto alla cartella di lavoro e la struttura del report del progetto verrà visualizzata nel nuovo foglio di lavoro.

È possibile scrivere un codice macro che eseguirà queste azioni quando si apre la cartella di lavoro. Ciò significa che quando apri la cartella di lavoro del rapporto di progetto, un nuovo foglio di lavoro con la struttura del rapporto sarà pronto per l'inserimento dei dettagli.

Seguire la procedura indicata di seguito nell'editor VBA -

  • Fare doppio clic su ThisWorkbook in Esplora progetti.

  • Nella finestra del codice selezionare Cartella di lavoro nell'elenco a discesa a sinistra e Apri nell'elenco a discesa a destra. Viene visualizzato Sub Workbook_Open ().

  • Fare clic su Moduli in Esplora progetti.

  • Fare doppio clic sul nome del modulo che contiene il codice della macro.

  • Copia il codice della macro dal modulo e incollalo nel Sub WorkBook_Open ().

Salva la cartella di lavoro abilitata per le macro. Aprilo di nuovo. La macro viene eseguita e viene inserito un nuovo foglio di lavoro con la struttura del report.