Quando con lo stesso evento devi attivare procedure diverse a seconda della cella che ha innescato l' evento allora e' evidente che le cose si complicano.
Una possibile soluzione, disottimizzata ma concettualmente semplice da realizzare, e' quella di inserire le possibili azioni in macro a se' stanti e poi richiamare la macro voluta a seconda della cella di partenza. Del tipo:
- Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Address = "$A$1" Then Call Macro1
If Target.Address = "$A$2" Then Call Macro1
If Target.Address = "$A$3" Then Call Macro1
If Target.Address = "$A$4" Then Call Macro1
If Target.Address = "$C$2" Then Call Macro2
If Target.Address = "$D$3" Then Call Macro2
'etc etc
Application.EnableEvents = True
End Sub
Ovviamente questo e' fattibile quando hai "non tantissime" celle da verificare.
In alternativa devi usare altre logiche, quali il numero di riga, o di colonna, o "Intersect", And, Or, Not (nelle giuste dosi...) per determinare il gruppo a cui appartiene la cella cambiata e di conseguenza la macro da lanciare.
Ciao