Чтобы получить цвет ячейки в диапазоне, вам нужно сослаться на отдельную ячейку внутри массива в виде диапазона («А1», «С3»). Ячейки (1,1) (для ячейки А1) , Справка по Excel очень хороша, если вы посмотрите название свойства, с которым у вас проблемы.
Кроме того, Excel 2007 использует целочисленные значения для своих типов цвета, поэтому лучше всего назначить целочисленный индекс цвета и использовать его во всей программе. Для вашего примера попробуйте:
Green = Range("A1","C3").Cells(1,1).Interior.Color
Yellow = Range("A1","C3").Cells(1,3).Interior.Color
Red = Range("A1","C3").Cells(2,1).Interior.Color
А затем переключить все цвета на красный:
Range("A1","C3").Interior.Color = Red
Опять же, проверьте справку Excel о том, как использовать ячейки ([RowIndex], [ColumnIndex]).
Если вышеперечисленное не работает для вас, проверьте, чему равен .Interior.PatternColorIndex. Обычно я оставляю для него значение xlAutomatic (сплошной цвет), и оно может быть установлено на что-то другое, если цвет не меняется.