Come eseguire una macro quando il valore di una cella cambia in Excel?
Normalmente, in Excel, possiamo premere il tasto F5 o il pulsante Esegui per eseguire il codice VBA. Ma hai mai provato a eseguire un determinato codice macro quando il valore di una cella cambia? In questo articolo, ti presenterò alcuni trucchi rapidi per gestire questa operazione in Excel.
Esegui o richiama una macro quando il valore di una cella specifica cambia con il codice VBA
Esegui o richiama una macro quando il valore di una cella specifica cambia con il codice VBA
Per eseguire un codice macro cambiando il valore di una cella, il seguente codice VBA può aiutarti, procedi come segue:
1. Fai clic con il tasto destro sul tab del foglio in cui desideri eseguire la macro se il valore della cella cambia, quindi scegli Visualizza Codice dal menu contestuale, e nella finestra aperta di Microsoft Visual Basic for Applications, copia e incolla il seguente codice nel Modulo vuoto:
Codice VBA: Esegui macro quando il valore della cella cambia:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
Call Mymacro
End If
End Sub
Nota: Nel codice sopra, A1 è la cella specifica su cui desideri eseguire il codice, Mymacro è il nome della macro che desideri eseguire. Cambiali secondo le tue esigenze.
2. Quindi salva e chiudi la finestra del codice, ora, quando inserisci o modifichi il valore nella cella A1, il codice specifico verrà attivato immediatamente.
Esegui o richiama una macro quando il valore di qualsiasi cella cambia in un intervallo con il codice VBA
Se desideri eseguire o attivare una macro quando il valore di una qualsiasi cella cambia in un intervallo di celle, il seguente codice potrebbe esserti utile.
1. Fai clic con il tasto destro sul tab del foglio in cui desideri eseguire la macro se il valore della cella cambia, quindi scegli Visualizza Codice dal menu contestuale, e nella finestra aperta di Microsoft Visual Basic for Applications, copia e incolla il seguente codice nel Modulo vuoto:
Codice VBA: Esegui macro quando il valore di qualsiasi cella cambia in un intervallo:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1:B100")) Is Nothing Then
Call Mymacro
End If
End Sub
Nota: Nel codice sopra, A1:B100 sono le celle specifiche su cui desideri eseguire il codice, Mymacro è il nome della macro che desideri eseguire. Cambiali secondo le tue esigenze.
2. Quindi salva e chiudi la finestra del codice, ora, quando inserisci o modifichi il valore in una qualsiasi cella di A1:B100, il codice specifico verrà eseguito immediatamente.
Rimuovi tutte le macro da più cartelle di lavoro
L'utilità Rimuovi tutte le macro in blocco di Kutools per Excel può aiutarti a rimuovere tutte le macro da più cartelle di lavoro secondo necessità. Scarica e prova gratuitamente Kutools per Excel ora!
Kutools per Excel: con oltre 300 utili add-in per Excel, prova gratuita senza limitazioni per 30 giorni. Scarica e prova gratuitamente Ora!
Articoli correlati:
Come eseguire automaticamente una macro prima della stampa in Excel?
Come eseguire una macro basata sul valore della cella in Excel?
Come eseguire una macro basata sul valore selezionato da un elenco a discesa in Excel?
Come eseguire una macro facendo clic sui collegamenti ipertestuali in Excel?
Come eseguire una macro quando un foglio viene selezionato da una cartella di lavoro?
I migliori strumenti per la produttività in Office
Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un'efficienza mai vista prima. Kutools per Excel offre oltre300 funzionalità avanzate per aumentare la produttività e risparmiare tempo. Clicca qui per ottenere la funzione di cui hai più bisogno...
Office Tab porta l'interfaccia a schede in Office e rende il tuo lavoro molto più semplice
- Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea più documenti in nuove schede della stessa finestra, invece che in nuove finestre.
- Aumenta la tua produttività del50% e riduce centinaia di clic del mouse ogni giorno!