Video: Excel VBA : salvare file 2025
Ti incuriosisce come scrivere una procedura di gestore di eventi in VBA ? Il VBE ti aiuta quando sei pronto a scrivere una procedura di gestore di eventi, visualizza un elenco di tutti gli eventi per l'oggetto selezionato.
Nella parte superiore di ogni finestra di codice, trovi due elenchi a discesa:
-
L'elenco a discesa Oggetto (quello a sinistra)
-
L'elenco a discesa Procedura (quello a destra)
Per impostazione predefinita, il L'elenco a discesa Oggetto nella finestra Codice mostra Generale.
Se stai scrivendo un gestore di eventi per l'oggetto ThisWorkbook, devi fare clic su ThisWorkbook nella finestra Progetto e quindi scegliere Cartella di lavoro dal menu a discesa Oggetto (è l'unica altra scelta).
Se stai scrivendo un gestore di eventi per un oggetto Foglio, devi fare clic sul foglio specifico nella finestra Progetto e quindi selezionare Foglio di lavoro dall'elenco a discesa Oggetto (di nuovo, l'unico altra scelta).
Dopo aver effettuato la scelta dall'elenco a discesa Oggetto, è possibile scegliere l'evento dall'elenco a discesa Procedura. Ecco alcune delle scelte per un evento correlato alla cartella di lavoro.
Quando si seleziona un evento dall'elenco, VBE inizia automaticamente a creare una procedura per il gestore di eventi. Questa è una funzionalità molto utile, perché ti dice esattamente quali sono gli argomenti corretti.
Ecco un piccolo capriccio. Quando si seleziona per la prima volta la cartella di lavoro dall'elenco degli oggetti, VBE presuppone sempre che si desideri creare una procedura di gestore di eventi per l'evento di apertura e crearla per l'utente. Se stai effettivamente creando una procedura Workbook_Open, va bene. Tuttavia, se si sta creando una procedura evento diversa, è necessario eliminare il sottomodello Workbook_Open vuoto creato.
L'aiuto di VBE va solo fino ad ora, tuttavia. Scrive l'istruzione Sub e l'istruzione End Sub. Scrivere il codice VBA che va tra queste due affermazioni è il tuo lavoro.
Non è proprio necessario utilizzare questi due elenchi a discesa, ma farlo rende più semplice il lavoro perché il nome della procedura del gestore eventi è di fondamentale importanza. Se non si ottiene il nome esattamente giusto, la procedura non funzionerà. Inoltre, alcune procedure di gestore di eventi utilizzano uno o più argomenti nell'istruzione Sub. Non c'è modo di ricordare quali sono questi argomenti. Ad esempio, se si seleziona SheetActivate dall'elenco eventi per un oggetto Cartella di lavoro, VBE scrive la seguente istruzione secondaria:
Sottopartice privata_SheetActivate (ByVal Sh As Object)
In questo caso, Sh è l'argomento passato alla procedura ed è una variabile che rappresenta il foglio nella cartella di lavoro attivata.
