Esegui macro Se qualsiasi modifica apportata sul foglio specificato Gamma
Durante le tue pratiche VBA, avrai la necessità di eseguire macro quando un determinato intervallo o cella cambia. In tal caso, per eseguire le macro quando viene apportata una modifica a un intervallo di destinazione, utilizziamo l’evento di modifica.
`link: / excel-macros-and-vba-events-in-vb [Events in VBA] ci consente di eseguire le macro quando si verifica un determinato evento.
Sintassi VBA Range Change Event
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("your_range")) Is Nothing Then call your_macro End If End Sub
L’evento non funziona nei moduli. È necessario scriverli in oggetti (foglio di lavoro, grafici, cartella di lavoro).
I lat hanno un esempio per imparare come eseguire una macro quando viene apportata una modifica in un intervallo specificato.
Esempio: eseguire una macro VBA quando viene apportata una modifica nell’intervallo A2: A100 Innanzitutto, scegliamo il foglio su cui si verificherà l’evento. Fare doppio clic su quel foglio nell’editor VBA e copiare il codice sottostante o il codice generico sopra e apportare le modifiche secondo le proprie esigenze.
In questo esempio, voglio eseguire un codice macro / VBA quando viene apportata una modifica nell’intervallo A2: A100 sul foglio 2. Per farlo, faccio doppio clic su sheet2 in Project Explorer. Apre la pagina di codifica per quel foglio. Puoi fare clic con il pulsante destro del mouse sul foglio e fare clic sul codice di visualizzazione per fare lo stesso.
Devo utilizzare l’evento di modifica. Per questo, usiamo la subroutineWorksheet_Change (ByVal Target As Range) di default. Si attiva quando viene apportata una modifica specificata. Quindi il nostro codice è questo:
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("A2:A100")) Is Nothing Then Call TestEvent End If End Sub
Quando si apportano modifiche nell’intervallo A2: A100 su Sheet2, verrà chiamata la subroutine TestEvent, come si può vedere nella gif sopra.
Il TestEvent è la subroutine pubblica in module2. Visualizza semplicemente un messaggio che l’evento sta funzionando.
Sub TestEvent() MsgBox "Event is working!" End Sub
Come funziona?
Abbiamo posto una condizione:
If Not Intersect (Target, Range (“A2: A100”)) Is Nothing Then HereIntersect (Target, Range (“A2: A100”)) Is Nothing restituisce True se non viene apportata alcuna modifica in Range A2: A100. Mettiamo un operatore Not prima di questa istruzione che inverte l’output fornito da “Intersect (Target, Range (” A2: A100 “))”. Quindi, se non viene apportata alcuna modifica nell’intervallo A2: A100, l’espressione restituisce Falls e subTestEvent non riceve la chiamata. Se apporti una modifica in una cella nell’intervallo A2: A100, l’espressione restituirà True e si verificherà l’evento. Ed è quello che sta succedendo qui.
Nota: puoi inserire qualsiasi subroutine in questo blocco. Può provenire da qualsiasi modulo. Ma dovrebbe essere una subroutine pubblica. Puoi impostare l’intervallo in qualsiasi misura. L’intero foglio è il limite.
Quindi sì ragazzi, è così che puoi chiamare una subroutine o eseguire una macro / codice VBA quando viene apportata una modifica in un intervallo specificato. Era un esempio di evento di base. Questo evento si attiverà solo quando la modifica è basata sul testo. Per testo intendo che se scrivi qualcosa nelle celle o elimini, l’evento si attiverà. Se modifichi la formattazione delle celle, non si attiverà. Ci sono altri metodi per farlo.
Spero sia stato utile. Se hai domande relative a questo argomento VBA o qualsiasi altro argomento relativo a Excel, fammi sapere la sezione commenti qui sotto. E controlla i nostri altri post correlati e popolari menzionati di seguito.
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.
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.