View Single Post
Old 09-08-2014, 21:06   #1
Latvia
Senior Member
 
Iscritto dal: Feb 2006
Città: Conegliano
Messaggi: 2848
Excel conta celle colorate

ciao,
sto cercando una macro che mi permetta di contare quante celle di un determinato colore ci sono in un determinato intervallo di celle.
Ho guardato in internet e macro ce ne sono varie, ma nessuna mi piace (=è scomoda). Le due migliori che ho trovato sono queste:
  • Function CCC(SCells As Range, TCell As Range) 'Count Cell Color
    'SCells e' l' area di celle contigue di cui si vuol verificare il colore
    'TCell e' la cella di paragone
    'USO: =CCC(SCells;TCell)
    'esempio di formula: =CCC(A1:E1,$F$1)
    '
    Application.Volatile
    TColor = TCell.Interior.ColorIndex
    For Each Cella In SCells
    If Cella.Interior.ColorIndex = TColor Then CCC = CCC + 1
    Next Cella
    End Function
  • Function CountCcolor(range_data As range, criteria As range) As Long
    Dim datax As range
    Dim xcolor As Long
    xcolor = criteria.Interior.ColorIndex
    For Each datax In range_data
    If datax.Interior.ColorIndex = xcolor Then
    CountCcolor = CountCcolor + 1
    End If
    Next datax
    End Function

In entrambe i due valori sono dati dall'intervallo e da una casella ''campione''.
- Nel primo
PRO: cliccando f9 si aggiorna
CONTRO: alla casella campione bisogna aggiungere $$
- Nel secondo
PRO: è sufficiente indicare la cella campione
CONTRO: non si aggiorna (manca evidentemente la seconda parte Application.Volatile)

Io vorrei o sistemare la prima, o completare la seconda, ma siccome di VBA non ci capisco nulla, non ci riesco. Qualcuno mi risolve il problema? spiegandomi anche velocemente il perchè dei cambiamenti fatti...
Grazie!
Latvia è offline