\\ Home Page : Articolo : Stampa
Excel - una funzione per i colori delle celle
Di vittorio (del 12/10/2009 @ 01:44:25, in Office Automation, linkato 368 volte)
Vi è mai capitato di dover ordinare o filtrare una lista in excel in base al colore delle celle?

Qualche giorno fa ho fornito ad un cliente una lista chiedendo di indicare le voci superflue.

Quando ho ricevuto la lista rielaborata, mi sono accorto che il cliente aveva usato due colori per discriminare gli elementi: il giallo ed il rosso.

Ma come fare a filtrare gli elementi in base al colore?

Visto che le formule non mi sono state di grande aiuto, ho deciso di scriverne una io.

Di seguito presento una funzione in grado di restituire il colore di una cella (o range di celle). Il colore può essere riferito allo sfondo (motivo) oppure al tratto (foreground).

La funzione dovrebbe restituire (dico dovrebbe perché non ne sono sicuro) un valore a 24 bit rappresentante la codifica del colore (8x8x8)

L'importante però è avere un valori diversi per colori diversi.

Public Function Colore(r As Range, Tipo As String) As Long
Select Case UCase(Tipo)
Case "MOTIVO"
Colore = r.Interior.Color

Case "TRATTO"
Colore = r.Font.Color

Case Else

Colore = -1
End Select
End Function


Per ottenere il valore relativo al tratto possiamo usare ad esempio la formula:

=colore(A1;"tratto")


Mentre per lo sfondo possiamo usare ad esempio la formula:

=colore(A1;"motivo")




Per comodità al fondo di questo articolo ho inserito una add-in excel (formato xla) contenente la funzione.

Scarica l'add-in

Alla prossima.