Ad esempio questa:
- Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
MioR = "B1:C10" '<<< Adatta al tuo caso
'
If Intersect(Target, Range(MioR)) Is Nothing Then Exit Sub
With Target
Select Case .Value
Case Is <= 0
.Interior.ColorIndex = xlNone
Case Is > 100
.Interior.ColorIndex = 35 'verde chiaro
Case Is > 50
.Interior.ColorIndex = 43 'verde limone
Case Is > 30
.Interior.ColorIndex = 4 ' altro verde
Case Is > 10
.Interior.ColorIndex = 34 'turchese
Case Else
.Interior.ColorIndex = xlNone
End Select
End With
End Sub
Lavoora sul range MioR di dimensione dichiarata e applica alla cella modificata, se appartiene a quel range, un colore che dipende dal valore della cella.
Se le celle non vengono direttamente modificate, ma lo sono per formule inserite, allora bisogna modificare la macro, inserendo le istruzioni Select case/End select in un ciclo For Each Cell /Next cell:
- Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
MioR = "B1:C10" '<<< Adatta al tuo caso
'
If Intersect(Target, Range(MioR)) Is Nothing Then Exit Sub
For each Cella in Range(MioR)
With Cella
Select Case .Value
Case Is <= 0
'. . . .
'. . . . istruzioni come sopra
'. . . .
End Select
End With
Next Cella
End Sub
Va inserita nel "modulo di codice" del foglio su cui giaciono i dati: tasto dx sul tab col nome foglio, scegli Visualizza codice; ti si apre il vba editor; copia la macro e incollala nel frame di dx
Ovviamente dovrai inserire le istruzioni che servono a rappresentare le condizioni che vuoi gestire.
Ciao.