Здравствуйте Да, код есть, но он работает только с одной ячейкой, а надо с четырьмя. Я новичок в программировании и мне эта задача не по зубам.
Здравствуйте Да, код есть, но он работает только с одной ячейкой, а надо с четырьмя. Я новичок в программировании и мне эта задача не по зубам.olegglebovich
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]
Пожалуйста [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