2013-08-02 4 views
0

Я хотел бы добавить условное форматирование в ячейку, но значение для условия - это еще одна ячейка.Условное форматирование VBA различной ячейки как условие

условие должно идти в эту ячейку: Cells(x, cellcounter)

If Cells(x, cellcounter) > 0 then Cells(y, cellcounter) color RGB(153, 199, 112)

Это то, что я придумал, но это дает мне ошибку. Какой был бы правильный синтаксис?

Cells(cell_quote_paid, cellcounter).FormatConditions.Add(Cells(cell_pending, cellcounter), xlGreater, "=0").Interior.Color = RGB(153, 199, 112) 

Thx для справки!

+0

вы пробовали макро-рекордер? Он предоставит вам полное решение и поддержку. –

+0

есть есть. Это мое последнее средство :-) – Tino

ответ

0

В Excel 2010 нет необходимости в VBA.

  1. место Excel курсор в ячейке (у, cellcounter) и нажмите [Условное форматирование] - [New Rule ...] в разделе Стили домашней ленты
  2. нажмите "Используйте формулу, чтобы определить, какие ячейки для форматирования "
  3. Поместить курсор в поле« Форматировать значения, если эта формула истинна »
  4. click in cell (x, cell counter) ... он покажет, например = $ A $ 1 (то есть ссылка ячейки доставки ваше состояние)
  5. надстройкой «> 0» в формуле и выберите формат

Вы можете применить те же правила для нескольких ячеек с помощью [Условное форматирование] - [Управление правилами ...], так что все клетки будут краснеть, если состояние ячейки от 0 до 1.

чтобы сделать то же самое в VBA, используйте следующие методы и свойства:

{target range}.FormatConditions.Add Type:=xlExpression, Formula1:="=$A$1>0" 
{target range}.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority 
{target range}.FormatConditions(1).Font.Color = RGB(153, 199, 112) 
{target range}.FormatConditions(1).StopIfTrue = False 
Смежные вопросы