Пожалуйста
[vba]Код
Private Sub Worksheet_Calculate() 'макрос срабатывает при любом пересчёте листа
Dim cell As Range
For Each cell In Range("G28:J28") 'делаем цикл по ячейкам из диапазона G28:J28. cell - очередная текущая ячейка
cell = cell.Offset(-1) 'присваиваем текущей ячейке значение из вышестоящей (offset - смещение от текущей ячейки)
If cell >= cell.Offset(4) Then 'если значение текущей ячейки больше или равно значению четырьмя строками ниже
cell.Interior.Color = RGB(255, 0, 0) 'то красим в красный
ElseIf cell > cell.Offset(3) Then 'если значение текущей ячейки больше значения тремя строками ниже
cell.Interior.Color = RGB(0, 255, 0) 'то красим в зеленый
Else
cell.Interior.Color = RGB(255, 242, 204) 'иначе красим в желтый
End If
Next cell
End Sub
[/vba]