Utilizzo dell'evento di modifica del foglio di lavoro per eseguire la macro quando viene apportata una modifica

Sommario:

Anonim

Se sei qui, probabilmente vuoi 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 dell'evento di modifica del foglio di lavoro è:

Private Sub worksheet_change(ByVal Target As Range) 'il tuo codice' '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 "Hai aggiornato qualcosa in questo foglio" End Sub 

Se hai questo codice su sheet1 e scrivi o cancelli qualcosa nel sheet1, il messaggio apparirà che "Hai aggiornato qualcosa in questo foglio".

Non funzionerà nei moduli normali. Ma puoi chiamare le subroutine da qualsiasi modulo. Faremo lo stesso in questa sessione.


Scenario:

Esegui macro di Excel se vengono apportate modifiche al foglio di lavoro

Quindi, diciamo che abbiamo una macro che cambia il colore delle celle in base a qualche 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 eseguiamo un comando, non quando i valori cambiano. Vogliamo che la macro venga eseguita ogni volta che viene apportata una modifica nel foglio. Qui gli eventi VBA ti aiuteranno. Ora per fare ciò useremo Evento di modifica del foglio di lavoro.

Segui questi passi:

  • Vai a Esplora progetti e fai doppio clic sul foglio su cui vuoi attivare l'evento worksheet.change. Voglio attivare l'evento quando vengono apportate alcune modifiche al Foglio2, quindi faccio doppio clic su Foglio2. Puoi anche fare clic con il pulsante destro del mouse e fare clic sul codice della vista per aprire l'area di scrittura del codice per gli oggetti di lavoro. Nell'area del codice, scrivi questa riga di codice.
    Private Sub Worksheet_Change(ByVal Target As Range) End Sub 

    worksheet_change(Target as Range) è una subroutine preservata che viene eseguita quando viene apportata una modifica al foglio contenente il codice.

    Quando scriverai questo codice, vedrai l'oggetto cambiare nel foglio di lavoro. Vedi il menu a discesa in alto a sinistra. Nell'elenco a discesa in alto a destra, l'evento è "modifica".
    Se utilizzi il menu a discesa e selezioni 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. Hai solo bisogno di riempirlo con le tue subroutine personalizzate.

  • Ora inserisci il tuo codice in questo segmento. Voglio chiamare la mia subroutine che si trova in un modulo. Quindi chiamo semplicemente quella subroutine in questo gestore di eventi del foglio di lavoro. La mia subroutine è FormatUsingVBA() in Module1
    Private Sub worksheet_change (ByVal Target As Range) Call FormatUsingVBA End Sub

Ora, ogni volta che apporteremo una modifica in sheet2, verrà eseguita la macro FromatUsingVBA.

Quindi sì ragazzi, ecco come eseguire uno script VBA quando un foglio cambia il suo contenuto, utilizzando il gestore dell'evento di modifica del foglio di lavoro. Spero sia stato utile. Se hai domande su questo gestore di eventi, menzionalo nella sezione dei commenti.

Il codice VBA più semplice per evidenziare la riga e la colonna correnti utilizzando| Usa questo piccolo frammento VBA per evidenziare la riga e la colonna correnti del foglio.

Gli eventi del foglio di lavoro in Excel VBA| L'evento del foglio di lavoro è davvero utile quando si desidera che le macro vengano eseguite quando si verifica un evento specificato sul foglio.

Esegui macro se vengono apportate modifiche al foglio nell'intervallo specificato| Per eseguire il codice della macro quando cambia il valore in un intervallo specificato, utilizza questo codice VBA. Rileva qualsiasi modifica apportata nell'intervallo specificato e attiverà l'evento.

Articoli popolari:

50 scorciatoie di Excel per aumentare la produttività | Diventa più veloce nel tuo compito. Queste 50 scorciatoie ti faranno lavorare ancora più velocemente su Excel.

La funzione CERCA.VERT in Excel | Questa è una delle funzioni più utilizzate e popolari di Excel che viene utilizzata per cercare il valore da diversi intervalli e fogli.

CONTA.SE in Excel 2016 | Conta i valori con le condizioni usando questa fantastica funzione. Non è necessario filtrare i dati per contare un valore specifico. La funzione Countif è essenziale per preparare la tua dashboard.

Come utilizzare la funzione SOMMA.SE in Excel | Questa è un'altra funzione essenziale della dashboard. Questo ti aiuta a riassumere i valori su condizioni specifiche.