Originariamente inviato da wimkieft
Salve ragazzi. Ho una colonna A1:A6 contenete dei nomi, es:

giorgio
gianni
roberto
alfredo
riccardo
stefano

Poi a fianco ne ho un'altra B1:B6 con possibilità di stabilire nelle sei celle background di colore diversi (rosso, verde, blu, ognuno col suo codice) - un colore per due nomi. Questa scelta viene fatta a caso e a rotazione.

Vorrei che in un'altra cella X possa estrarre e scrivere solo i nomi che per esempio hanno il backcolor rosso (16711680). Avete in mente come fare?

Io sto provando maldestramente con:

=INDICE(A1:A6;CONFRONTA(BACKCOLOR(B1:B6)=16711680) ; E1:E3;"")

Vi ringrazierei per darmi una mano.
codice:
Function utenticolore(intUtenti As Range, colore As Integer) As String
Dim utenti As String
Dim cella As Range
For Each cella In intUtenti
    If cella.Offset(0, 1).Interior.ColorIndex = colore Then
        utenti = utenti & cella.Value & ","
    End If
Next cella
utenticolore = Left(utenti, Len(utenti) - 1)
End Function
La funzione la richiami nel foglio in questo modo:

=utenticolore(A1:A6;6)

dove nell'esempio a1:a6 è il range che contiene i nomi e 6 è il colore giallo. I nominativi vengono concatenati in un'unica cella.

Qui trovi la palette dei colori per effettuare la ricerca in base al loro valore numerico.
http://www.mvps.org/dmcritchie/excel/colors.htm