2016-04-05 2 views
0

Я пытаюсь создать код VBA, который позволяет мне выделять цвета фона для ячейки на основе ее разности с соседней ячейкой слева.Цвет фона, основанный на различии с ячейкой

Позвольте мне объяснить: http://imgur.com/UUfaFRA

Когда вы смотрите на изображении выше вы можете увидеть:

  • C3 красный, потому что это значение выше, чем B3.
  • C4 не имеет цвета, как это значение равно B4
  • C5 зеленого цвета, потому что это значение меньше, чем B5

Я пытался поставить это в код VBA, но не получается:

Sheets("x").Range("C3").FormulaR1C1 = 
"=IF(RC>RC[-1],Interior.ColorIndex = 3,IF(RC<RC[-1,Interior.ColorIndex= 4))" 

еще одна попытка была путем записи функцию IF:

If Sheets("x").Range("C3") > Sheets("x").Range("D3") Then 
Sheets("x").Range("C3").Interior.ColorIndex = 3 

Я надеюсь, что кто-то может указать мне в правильном направлении, так как я (очевидно) нет гуру VBA.

+2

Почему бы не использовать условное форматирование? –

+0

Второй вариант, который вы написали, должен работать, если вы закончите его с помощью «End if», а C3 и D3 - нужные вам ячейки. В чем проблема? – Vityata

+0

Я со Скоттом. Во всяком случае, ваша попытка функции «IF» должна работать: какие у вас проблемы с ней – user3598756

ответ

0
If Sheets("x").Range("C3") > Sheets("x").Range("D3") Then 
Sheets("x").Range("C3").Interior.ColorIndex = 3 

Этот фрагмент кода работает. были некоторые проблемы с диапазоном, которые оригинально привели к отказу от этого кода.

Благодарим за поддержку!

Смежные вопросы