Seeing as you are using Excel 2007 and it allows filtering by color, you can script this.
Here is an example you can build on:
Note: you will need to determine the RGB value of the cell color, which can be done by simply activating the cell and calling up the color pallet via Format Cells. If you have multiple cell colors then you will need multiple passes to accomplish.
Using the specialcells method will be much faster than looping through 600K cells.
Option Explicit
Sub Check_Cell_Color()
Application.ScreenUpdating = False
With Sheet1
If .AutoFilterMode = True Then .AutoFilterMode = False
.Range("B1:B600000").AutoFilter Field:=1, Criteria1:=RGB(242, 242, 242), Operator:=xlFilterCellColor
.Range("Z1:Z600000").SpecialCells(xlCellTypeVisible).Value = 1
.AutoFilterMode = False
.Range("B1:A600000").AutoFilter Field:=1, Operator:=xlFilterNoFill
.Range("Z1:Z600000").SpecialCells(xlCellTypeVisible).Value = 0
.AutoFilterMode = False
End With
Application.ScreenUpdating = False
End Sub
Bookmarks