Причина, по которой это происходит неправильно, заключается в том, что вы применяете формулу ко всему столбцу, а не к первой ячейке в столбце.
Excel автоматически установит другие ячейки правильно.
Учитывая, что вы хотите использовать это в коде VBA, я рекомендую нажать кнопку записи, затем вручную выполнить настройку условного форматирования, затем остановить запись и посмотреть, что Excel генерирует как код VBA.
Я подозреваю, что это просто
range(D:D).select
'code for setting up conditional formatting and using (ABS((D1-E1)/E1))>0.15 as formula
Excel автоматически устанавливает другие ячейки, поэтому вам не нужно использовать столбцы. В противном случае он буквально попытался бы рассчитать все проценты за один раз, и если бы он оказался в> 0,15, тогда все ячейки были бы окрашены в красный цвет.