Piccola precisazione. Il codice che ti ho scritto calcola il numero di celle rosse per ogni riga ma, nel caso venga modifcato lo sfondo delle celle, il totale non viene ricalcolato automaticamente.
L'unico escamotage che mi è venuto in mente è quello di creare una funzioncina che modifichi il contenuto di una cella qualunque.
Il tuo codice quindi diventerebbe
codice:
Function colore(ByVal rng As Range)
Application.Volatile
rosse = 0
For Each cella In rng.Cells
If cella.Interior.ColorIndex = 3 Then
rosse = rosse + 1
End If
Next cella
colore = rosse
End Function
con l'aggiunta della riga application.volatile
e poi dovresti aggiungere una banalissima macro che modifichi il contenuto di una cella che non ti serve
codice:
Sub ricalcola()
ActiveSheet.Cells(65000, 1).Value = 1
ActiveSheet.Cells(65000, 1).Value = ""
End Sub
Questa macro semplicemente scrive il valore 1 nella cella A65000 e poi lo cancella.
Associala ad un pulsante e cliccalo dopo aver modificato il colore di sfondo di qualche cella affinchè il totale venga aggiornato.
Fammi sapere.