Я просил показать пару строк удаления, которые Вы сами нашли...
Что-то типа такого (перед запуском выделить диапазон):
Код
Sub DelCell()
Dim rRng As Range, c
Set rRng = Selection
For Each c In rRng
If c.Interior.Pattern <> xlNone Then c.Delete Shift:=xlUp
Next c
Set rRng = Nothing
End Sub
Точно. Не зря сомневался - нужно удалять снизу вверх.
Код
Sub DelCell_2()
Dim rRng As Range
Dim i As Long, j As Long, k
Set rRng = ActiveSheet.UsedRange
For i = rRng.Rows.Count To 1 Step -1
For j = 1 To rRng.Columns.Count
If rRng(i, j).Interior.Pattern <> xlNone Then rRng(i, j).Delete Shift:=xlUp
Next j
Next i
Set rRng = Nothing
End Sub
На активном листе удалит все залитые ячейки. Для удаления только ячеек с нужным ненужным цветом: заменить строку в коде подсказкой Пытливого