Utilizzando evento di modifica per eseguire la macro quando vengono apportate modifiche
Se sei qui, probabilmente vorrai imparare come eseguire una subroutine ogni volta che viene apportata una modifica in un foglio specifico. Questo articolo insegnerà esattamente questo. Quindi iniziamo.
La sintassi per il gestore degli eventi di modifica del foglio di lavoro è:
Private Sub worksheet_change(ByVal Target As Range) 'your code ' ' End Sub
Questo codice deve essere scritto in un oggetto foglio di lavoro per funzionare, non in un normale modulo.
Private Sub worksheet_change(ByVal Target As Range) Msgbox "You updated something in this sheet" End Sub
Se hai questo codice sul foglio1 e scrivi o cancelli qualcosa nel foglio1, verrà visualizzato il messaggio “Hai aggiornato qualcosa in questo foglio”.
Non funzionerà in moduli normali. Ma puoi chiamare le subroutine da qualsiasi modulo. Faremo lo stesso in questa sessione.
Scenario:
Esegui macro Excel se vengono apportate modifiche al foglio di lavoro
Quindi, supponiamo di avere una macro che cambia il colore delle celle in base a una condizione. Proprio come la formattazione condizionale di Excel. L’unica differenza è che il colore delle celle cambia quando eseguiamo questo codice VBA utilizzando un pulsante o un comando, non quando i valori cambiano. Vogliamo che la macro venga eseguita ogni volta che viene apportata una modifica al foglio. Qui gli eventi VBA ti aiuteranno. Ora per fare ciò useremo l’evento di modifica del foglio di lavoro.
Segui questi passaggi:
-
Vai a Esplora progetto e fai doppio clic sul foglio su cui desideri attivare l’evento worksheet.change. Voglio attivare l’evento quando vengono apportate alcune modifiche al Foglio2, quindi faccio doppio clic sul Foglio2. È anche possibile fare clic con il pulsante destro del mouse e fare clic sul codice di visualizzazione per aprire l’area di scrittura del codice per gli oggetti di lavoro. Nell’area del codice, scrivere questa riga di codice.
Private Sub Worksheet_Change(ByVal Target As Range) End Sub
worksheet_change (Target as Range) è una subroutine mantenuta che viene eseguita quando viene apportata una modifica al codice contenente il foglio.
Quando scriverai questo codice, vedrai l’oggetto cambiare nel foglio di lavoro. Vedere l’elenco a discesa in alto a sinistra. Nell’elenco a discesa in alto a destra, l’evento è “modifica” .
_Se si utilizza il menu a discesa e si seleziona il foglio di lavoro nel menu a discesa a sinistra, tutti gli eventi disponibili verranno visualizzati nel menu a discesa a destra.
Qualunque sia il menu a discesa che scegli, il codice per quell’evento verrà scritto automaticamente. Devi solo riempirlo con le tue subroutine personalizzate.
_ * Now just put your code in this segment. I want to call my subroutine that is in a module. So I simply call that subroutine in this worksheet event handler. My subroutine isFormatUsingVBA() in Module1
Private Sub worksheet_change(ByVal Target As Range) Call FormatUsingVBA End Sub
Ora, ogni volta che apporteremo una modifica a sheet2, verrà eseguita la macro FromatUsingVBA.
Quindi sì ragazzi, questo è il modo in cui è possibile eseguire uno script VBA quando un foglio cambia il suo contenuto, utilizzando il gestore dell’evento Modifica foglio di lavoro. Spero sia stato utile. Se hai domande su questo gestore di eventi, menzionalo nella sezione commenti.
Articoli correlati:
link: / events-in-vba-semplice-vba-code-to-highlight-current-row-and-column-using [Codice VBA più semplice per evidenziare riga e colonna corrente utilizzando]
* | Usa questo piccolo frammento VBA per evidenzia la riga e la colonna correnti del foglio.
link: / events-in-vba-the-worksheet-events-in-excel-vba [Gli eventi del foglio di lavoro in Excel VBA]
* | Gli eventi del foglio di lavoro sono davvero utili quando vuoi che le tue macro vengano eseguite quando si verifica un evento specificato sul foglio.
link: / events-in-vba-run-macro-if-any-change-made-on-sheet-range [Run Macro If Any Change Made on Sheet in Specified Range]
* | Per eseguire il codice macro quando il valore in un intervallo specificato cambia, utilizzare questo codice VBA. Rileva qualsiasi modifica effettuata nell’intervallo specificato e attiverà l’evento.
Articoli popolari:
link: / keyboard-formula-shortcuts-50-excel-shortcuts-to-aumentare-la-produttività [50 scorciatoie Excel per aumentare la produttività]
| Diventa più veloce nel tuo compito. Queste 50 scorciatoie ti faranno lavorare ancora più velocemente su Excel.
link: / formule-e-funzioni-introduzione-di-vlookup-funzione [La funzione CERCA.VERT in Excel]
| Questa è una delle funzioni più utilizzate e popolari di Excel che viene utilizzata per cercare valori da diversi intervalli e fogli. link: / tips-countif-in-microsoft-excel [COUNTIF in Excel 2016]
| Contare i valori con le condizioni utilizzando questa straordinaria funzione. Non è necessario filtrare i dati per contare un valore specifico.
La funzione Countif è essenziale per preparare la tua dashboard.
link: / excel-formula-and-function-excel-sumif-function [Come usare la funzione SUMIF in Excel]
| Questa è un’altra funzione essenziale della dashboard. Questo ti aiuta a riassumere i valori su condizioni specifiche.