Страницы: 1
RSS
Условное форматирование в строках на основании другого столбца, Выделить цветом всю строку по частичному совпадению с другим столбцом
 
Добрый вечер. Задача:
Выделить цветом все строки если значения столбца А Таблицы1 частично содержат значения (текст) столбца Б.

 
Удалось получить подобное:
Код
=СУММПРОИЗВ(--ЕЧИСЛО(ПОИСК($A4;$P$3:$P$4)))>0
или
=СЧЁТЕСЛИ($P$3:$P$4;"*"&$A4&"*")>0
Но это работает в "обратную" сторону.
Код
=СЧЁТЕСЛИ($A$4:$A$8;"*"&$P3&"*") - работает в ту сторону, но не подходит для условного форматирования.
 
Здравствуйте.
Вариант в файле с именованным диапазоном.
Можно и без именованного диапазона, только постоянно при увеличении списка придется править формулу в УФ.
Может кто подскажет вариант попроще.
Код
=СУММПРОИЗВ(СЧЁТЕСЛИ($A4;"*"&Список&"*"))
Изменено: gling - 15.11.2023 23:21:13
 
Вам нужно что бы заливка была одна на любое совпадение со справочником или как в примере разная для каждой строки справочника?
 
bugser, поясните конкретнее что нужно. Я вот тоде не совсем понимаю что где долдно совпасть и потом подкраситься. Но пост #3 посмотрите внимательно. Кажется то что нужно. Список - это диапазон с ключевыми словами.
Изменено: БМВ - 16.11.2023 08:24:45
По вопросам из тем форума, личку не читаю.
 
gling, Спасибо! Это работает.
Цитата
написал:
Вам нужно что бы заливка была одна на любое совпадение со справочником или как в примере разная для каждой строки справочника?
Нет, вопрос решен. Не верно указал, цвет конечно один и тот же должен быть.
БМВ, Спасибо.

Еще вопрос. Возможно ли сделать условное форматирование для части текста в ячейке? При обновлении таблицы PQ выделенный жирным текст стирается.
Или возможность внутри PQ поставить например тэг типа #(lf), который будет выделять жирным или подчеркнутым текст в таблице.

Например:
Собака - Вагон
Вагон - Клюшка
Действие - Злой
Свинья - Вагон
Изменено: bugser - 17.11.2023 20:38:35
 
Выделить слово Вагон

Код
Sub ВыделитьВагонBold()
    Dim cell As Range
    Dim searchText As String
    Dim textStart As Integer
    
    searchText = "Вагон"
    
    For Each cell In Range("A1:A100") ' Измените диапазон на нужный
        textStart = InStr(cell.Value, searchText)
        Do While textStart > 0
            cell.Characters(textStart, Len(searchText)).Font.Bold = True ' Жирное начертание
            textStart = InStr(textStart + 1, cell.Value, searchText)
        Loop
    Next cell
End Sub

Изменено: DAB - 18.11.2023 02:22:24
Страницы: 1
Наверх