Public addresses(1000), colors(1000)
Sub SaveColors()
Dim i As Integer
For Each Cell In ActiveSheet.UsedRange
addresses(i) = Cell.Address
colors(i) = Cell.Interior.ColorIndex
i = i + 1
Next
End Sub
Sub UpdateColors()
ActiveSheet.UsedRange.ClearFormats
For i = 0 To 1000
On Error GoTo 1
Range(addresses(i)).Interior.ColorIndex = colors(i)
Next
1 End Sub