Para validar si el color de una celda es uno o es otro yo haria algo asi:
(Es un pequño ejemplo que hice para te anexo un archivo de excel con el ejemplo tiene macros pero puedes confiar en ellas no hacen nada malo te lo juro)
Public Sub VerColCel(fin As Long, Optional ini As Long)
Dim x As Long
Dim CarCel As String
Dim NumCel As String
Dim ce As String
If ini < 1 Or fin < 1 Then Exit Sub
For x = ini To fin
CarCel = Chr(x + 64)
NumCel = "1"
ce = CarCel & NumCel
Range(ce).Select
Select Case Selection.Interior.ColorIndex
Case 7
MsgBox "Es color Rosa la celda " & ce
'Aqui van Tus Formulas
Range(CarCel & CStr(CLng(Val(NumCel) + 1))).Select
Cells(ini + 1, x) = "Rosa"
Case 1
MsgBox "Es color Negro la celda " & ce
'Aqui van Tus Formulas
Range(CarCel & CStr(CLng(Val(NumCel) + 1))).Select
Cells(ini + 1, x) = "Negro"
Case 4
MsgBox "Es color VerdeFosforesente la celda " & ce
'Aqui van Tus Formulas
Range(CarCel & CStr(CLng(Val(NumCel) + 1))).Select
Cells(ini + 1, x) = "VerdeFosforesente"
Case 46
MsgBox "Es color NaranjaFuerte la celda " & ce
'Aqui van Tus Formulas
Range(CarCel & CStr(CLng(Val(NumCel) + 1))).Select
Cells(ini + 1, x) = "NaranjaFuerte"
Case 6
MsgBox "Es color Amarillo la celda " & ce
'Aqui van Tus Formulas
Range(CarCel & CStr(CLng(Val(NumCel) + 1))).Select
Cells(ini + 1, x) = "Amarillo"
'Case n . . .
'Case Else
End Select
Selection.HorizontalAlignment = xlCenter
Next x
End Sub
Te Anexo el ejemplo como te digo cualquier cosa sigo en contacto con esta discucion espero que sea lo que nesesitas.
Nota: Tu problema lo tenias que haber planteado en el Foro de VBA en este lenguaje se hacen las macros en este foro es VB pero bueno
En el ejemplo que te puse elimina el contenido de las celdas de abajo de las celdas coloreadas para que veas lo que hace . . .