Ho importato la seguente macro, disponibile su questo sito, che mi permette di filtrare a seconda del colore della cella usando excel 2003.
Assegnando ad una colonna la seguente formula
- Codice: Seleziona tutto
=ColorIndexOfCell(A1;FALSO;VERO)
- Codice: Seleziona tutto
Function ColorIndexOfCell(Rng As Range, _
Optional OfText As Boolean, _
Optional DefaultAsIndex As Boolean = True) As Integer
Dim C As Long
If OfText = True Then
C = Rng.Font.ColorIndex
Else
C = Rng.Interior.ColorIndex
End If
If (C < 0) And (DefaultAsIndex = True) Then
If OfText = True Then
C = GetBlack(Rng.Worksheet.Parent)
Else
C = GetWhite(Rng.Worksheet.Parent)
End If
End If
ColorIndexOfCell = C
End Function
Function GetWhite(Wb As Workbook) As Long
Dim Ndx As Long
For Ndx = 1 To 56
If Wb.Colors(Ndx) = &HFFFFFF Then
GetWhite = Ndx
Exit Function
End If
Next Ndx
GetWhite = 0
End Function
Function GetBlack(Wb As Workbook) As Long
Dim Ndx As Long
For Ndx = 1 To 56
If Wb.Colors(Ndx) = 0& Then
GetBlack = Ndx
Exit Function
End If
Next Ndx
GetBlack = 0
End Function
Il problemi sono i seguenti:
-La formula non si aggiorna automaticamente al cambio di colore della cella selezionata nella forumla. Pero ovviare al problema in maniera grossolana posso cliccare su ogni singola cella contenente la forumla per ottenere un refresh, ricopiare la stessa formula sullo stesso intervallo risolve il problema, difatti si aggiorna il valore corrispondente al colore ( Ho creato delle macro per copiare ed incollare che effettivamente risolvono il problema ). F9 non aggiorna il risultato.
Posso risolvere senza macro ?
-La formula non legge la variazione di colore dello sfondo di una cella dovuta ad una formattazione condizionata, aggiornare non aggiorna il risultato e copiare ed incollare la forumula, non aggiorna il risultato.
Perchè ?
Vi ringrazio, Saluti !!