Member 14946076 Ответов: 1

Условное форматирование строки на основе значения ячейки


Привет Ребята,

Новичок в VBA, пытающийся автоматизировать отчет об открытых ордерах. Мой набор данных-от А2 до Х10999. Если заказ запаздывает, то начиная с J2 появится текст "поздно". Если это так, то мне нужно, чтобы вся строка была отформатирована красным цветом. После долгих поисков в Google и отладки у меня есть следующий код, который будет окрашивать только "позднюю" ячейку в красный цвет. Я не могу понять, как заставить весь ряд быть красным.

Любая помощь будет оценена по достоинству!

Sub ConditionalFormatting()

Dim MyRange As Range
'Create range object
Set MyRange = Range("A2:x10999")
'Delete previous conditional formats
MyRange.FormatConditions.Delete

'Add LATE rule
MyRange.FormatConditions.Add Type:=xlTextString, TextOperator:=xlContains, _
        String:="LATE"
MyRange.FormatConditions(1).Interior.Color = vbRed
'Add RISK rule
MyRange.FormatConditions.Add Type:=xlTextString, TextOperator:=xlContains, _
        String:="RISK"
MyRange.FormatConditions(2).Interior.Color = RGB(255, 153, 0)
'Add WATCH rule
MyRange.FormatConditions.Add Type:=xlTextString, TextOperator:=xlContains, _
        String:="WATCH"
MyRange.FormatConditions(3).Interior.Color = vbYellow


End Sub


Что я уже пробовал:

Я пробовал разные варианты и даже думал, что
MyRange.FormatConditions(1).Row.Interior.Color = vbRed
или
MyRange.FormatConditions(1).EntireRow.Interior.Color = vbRed

это сработало бы, однако я получаю ошибку "483", если попробую это сделать.

Maciej Los

Пожалуйста, объясните, что вы имеете в виду "Если заказ запаздывает, ...Вероятно, вам нужно добавить сравнение даты заказа с фактической датой.

1 Ответов

Рейтинг:
4

Member 12901943

Попробуйте это выражение:

MyRange.FormatConditions.Add Type:=xlExpression, Formula1:="=$J2=""LATE"""

Это позволит установить Условное форматирование в все ячейки строки, чтобы посмотреть на значение в Jn...


Maciej Los

Выглядит идеально для меня. 5ed!

Member 14946076

Спасибо Члену 12901943!!! Это сработало!!