Eventi in Excel

Il termine "Evento Excel» viene utilizzato per indicare determinate azioni eseguite dall'utente in Excel. Ad esempio, quando un utente cambia un foglio della cartella di lavoro, si tratta di un evento. Anche l'immissione di dati in una cella o il salvataggio di una cartella di lavoro sono eventi di Excel.

Gli eventi possono essere collegati a un foglio di lavoro Excel, a grafici, a una cartella di lavoro o direttamente all'applicazione Excel stessa. I programmatori possono creare codice VBA che verrà eseguito automaticamente quando si verifica un evento.

Ad esempio, per eseguire una macro ogni volta che l'utente cambia un foglio di lavoro in una cartella di lavoro di Excel, è necessario creare codice VBA che verrà eseguito ogni volta che si verifica l'evento FoglioAttiva cartella di lavoro.

E se vuoi che la macro venga eseguita ogni volta che vai a un foglio di lavoro specifico (ad esempio, Sheet1), allora il codice VBA deve essere associato all'evento Attivare per questo foglio

Il codice VBA destinato a gestire gli eventi di Excel deve essere inserito nel foglio di lavoro o nell'oggetto cartella di lavoro appropriato nella finestra dell'editor VBA (l'editor può essere aperto facendo clic su Alt + F11). Ad esempio, il codice che deve essere eseguito ogni volta che si verifica un determinato evento a livello di foglio di lavoro deve essere inserito nella finestra del codice per quel foglio di lavoro. Questo è mostrato nella figura:

Nell'editor di Visual Basic è possibile visualizzare l'insieme di tutti gli eventi di Excel disponibili a livello di cartella di lavoro, foglio di lavoro o grafico. Aprire la finestra del codice per l'oggetto selezionato e selezionare il tipo di oggetto dal menu a discesa a sinistra nella parte superiore della finestra. Il menu a tendina di destra nella parte superiore della finestra mostrerà gli eventi definiti per questo oggetto. La figura seguente mostra un elenco di eventi associati a un foglio di lavoro Excel:

Eventi in Excel

Fare clic sull'evento desiderato nel menu a tendina di destra e una procedura verrà automaticamente inserita nella finestra del codice per questo oggetto Sub. a capo del procedimento Sub Excel inserisce automaticamente gli argomenti richiesti (se presenti). Non resta che aggiungere il codice VBA per determinare quali azioni deve eseguire la procedura quando viene rilevato l'evento desiderato.

Esempio

Nell'esempio seguente, ogni volta che viene selezionata una cella B1 sul foglio di lavoro Sheet1 viene visualizzata una finestra di messaggio.

Per eseguire questa azione, è necessario utilizzare l'evento del foglio di lavoro Selezione_Cambia, che si verifica ogni volta che la selezione di una cella o di un intervallo di celle cambia. Funzione Selezione_Cambia riceve come argomento Target oggetto -. Questo è il modo in cui sappiamo quale intervallo di celle è stato selezionato.

Evento Selezione_Cambia si verifica con ogni nuova selezione. Ma abbiamo bisogno che l'insieme di azioni venga eseguito solo quando la cella è selezionata B1. Per fare ciò, terremo traccia dell'evento solo nell'intervallo specificato Target. Come è implementato nel codice del programma mostrato di seguito:

'Codice per visualizzare una finestra di messaggio quando la cella B1 è selezionata' nel foglio di lavoro corrente. Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'Controlla se la cella B1 è selezionata Se Target.Count = 1 e Target.Row = 1 e Target.Column = 2 Quindi 'Se la cella B1 è selezionata, esegui le seguenti operazioni MsgBox "Hai selezionato una cella B1" End If End Sub

Lascia un Commento