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