Добрый день, уважаемые форумчане! Заранее прошу прощения у модераторов, что не могу написать в соответствующую ветку, т.к. она в архиве
В теме предложен замечательный скрипт для горизонтального фильтрования:
Как сделать так, чтобы фильтровал он не по точному совпадению, а по вхождению?
Представим, что столбцы называются
И нам надо оставить только столбцы, например, сначала с кастрюлями, артикулом и ценой, а остальный скрыть, а затем с тарелками. Артикул и цена должны быть видны при любых условиях. Таких столбцов всего около 500. Как сделать так, чтобы вводя слово "кастрюля" я мог отфильтровать все кастрюли и т.д.?
Файлы прилагаю
В теме предложен замечательный скрипт для горизонтального фильтрования:
| Код |
|---|
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim myControlRange As Range
Dim rng As Range, Stolbec As Range
'назначаем конролируемую ячейку при изменении которой бдет запускаться макрос
'и с этим занчением будут сравниваться данные
Set myControlRange = Range("B3")
'пропускаем ошибки
On Error Resume Next
If Selection.Cells.Count > 1 Then Exit Sub
If Not Intersect(Target, myControlRange) Is Nothing Then
'отключаем обновление и контроль событий
Application.ScreenUpdating = False
Application.EnableEvents = False
'отображаем все столбцы, если были скрыты/со столбца F в данном случае
Range(Cells(7, 6), Cells(7, Columns.Count)).EntireColumn.Hidden = False
'устанавливаем диапазон данных где будем проверять данные/это строка 7 со столбца F
Set Stolbec = Range(Cells(7, 6), Cells(7, Columns.Count).End(xlToLeft))
'проверяем данные в каждой ячейке равенству для фильтра
For Each rng In Stolbec
If rng.Value <> Target.Value Then rng.EntireColumn.Hidden = True
Next
End If
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub |
Как сделать так, чтобы фильтровал он не по точному совпадению, а по вхождению?
Представим, что столбцы называются
| Артикул | Цена | Кастрюля: белая | Кастрюля: красная | Кастрюля: зеленая | Тарелка: белая | Тарелка: прозозрачная | Чашка: полная |
Файлы прилагаю
Изменено: - 16.07.2021 18:28:51
(Добавил пример данных для фильтрации)