il suggerimento di cui sopra si intende in Visual basic. La macro va scritta nell'oggetto foglio. per meglio illustrarti la mia soluzione ti scrivo un codice elementare che ad ogni variazione apportata sulle celle da A1 ad A5 del foglio modifica il valore della cella C5.
guarda la macro e vedi se può essere adattata al tuo caso.
Apri una cartella nuova
Con il foglio di lavoro aperto clic destro sulla linguetta del nome foglio scegli "visualizza codice" nella finestra che si apre incolla il codice che trovi qui sotto e vedi come lavora.
'l'evento Worksheet_Change qui sotto descritto si attiva ogni qualvolta viene modificato
'il valore di una cella
'''''''
Private Sub Worksheet_Change(ByVal Target As Range)
Dim x As Integer
On Error GoTo fine
Set zona = Range("a1:A5")
If Not Intersect(Target, zona) Is Nothing Then ' la macro agisce solo nell'intervallo
'denominato zona
If Target.Value = 2 Then ' se il valore immesso è = a 2 incrementa il valore della cella
'C5 di 3
x = Range("c5").Value
x = x + 3
Range("c5") = x
ElseIf Target.Value = 1 Then 'se il valore immesso è = a 1 incrementa il valore della cella
'C5 di 1
x = Range("c5").Value
x = x + 1
Range("c5") = x
End If
End If
fine:
Set zona = Nothing
End Sub
vedi se riesci ad adattare la tua macro utilizzando questo esempio
saluti
Andrea