Условное форматирование vba на основе другого столбца

У меня диапазон "A1: B10". Я хочу применить условное форматирование к диапазону A1: A10 таким образом, чтобы если ячейка B в этой строке содержала текст «ok», применила некоторый формат к ячейке A в этой строке.

Пример:

A        B
text    ok
text    other text
text    ok

ячейки A1 и A3 будут отформатированы в соответствии с настройкой условного форматирования. Я понимаю, как использовать FormatConditions.Add, когда дело доходит до тестирования тех же ячеек, которые я хочу отформатировать, но не когда это основано на условии в других ячейках.

Спасибо

Вы ведь знаете, что для этого вам не нужен VBA, верно? Условное форматирование знает это по умолчанию, так почему бы просто не записать макрос во время его настройки?

vacip 27.10.2018 17:36

Я привел простой пример, чтобы понять, как использовать formatConditions. В моем макросе условия намного сложнее, и запись доставляет мне слишком много беспорядка

Hana 27.10.2018 17:38
Преобразование HTML-таблицы в профессиональный документ Excel
Преобразование HTML-таблицы в профессиональный документ Excel
Это самый простой способ создания Excel из HTML-таблицы.
Импорт excel в laravel в базу данных
Импорт excel в laravel в базу данных
Здравствуйте, дорогой читатель, в этой статье я расскажу практическим и быстрым способом, как импортировать файл Excel в вашу базу данных с помощью...
0
2
154
2

Ответы 2

Чтобы основывать условное форматирование на других ячейках, укажите ссылку на другие ячейки в формуле.

Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
    "=NOT(ISERROR(SEARCH(""ok"", B1)))"

Функция смещения также работает в формуле.

Range("A:A").FormatConditions.Add Type:=xlExpression, Formula1:= _
    "=OFFSET(A1, 0, 1) = "ok""

Ссылаясь на ячейки, отличные от форматируемой, обратите внимание на абсолютно-относительные ссылки.

Также обратите внимание на двойные кавычки, экранирующие кавычки.

Range("A1:B3").FormatConditions.Add Type:=xlExpression, Formula1: = "=$B1 = ""ok"""

Другие вопросы по теме