я кое-что добавил и переместил немного.
[vba]Код
Sub u_457()
Application.ScreenUpdating = False 'отключение обновления экрана
u_1 = Cells(Rows.Count, "a").End(xlUp).Row 'последняя заполненная строка столбца А
Range("a1:n" & u_1).Interior.Pattern = xlNone 'очистим предыдущую заливку
u_2 = Sheets("НД").Range("d10").Value 'значение ячейки D10 листа "НД"
For Each u_3 In Range("h1:h" & u_1) 'пройдемся циклом по ячейкам диапазона H1:Hпоследняя ячейка
If u_3 = 0 Then 'если значение очередной ячейки в цикле =0,
u_4 = 0 'тогда результат деления =0, чтоб избежать ошибки
Else
u_4 = u_3.Offset(0, 2) / u_3 'делим значение ячейки смещенное на 2 столбца вправо (т.е. J) на H
End If
If u_4 < u_2 Then 'если результат деления меньше значение ячейки D10 листа "НД":
u_5 = u_3.Row '№ очередной (проверяемой циклом) строки
Range("a" & u_5 & ":n" & u_5).Interior.Color = 255 'красим диапазон в данной строке
End If
Next
Application.ScreenUpdating = True 'включение обновления экрана
End Sub
[/vba]надеюсь понятно.