Excel это не сложно
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
19.04.2024, 21:21:10

Войти
На форуме добавлена возможность подписки на RSS-ленты любого раздела форума. Подписаться можно, нажав на иконку RSS , расположенную левее наименования раздела.
33 242 Сообщений в 5 457 Тем от 6 758 Пользователей
Последний пользователь: Сергей2662
*
Перейти на сайт Хитрости Надстройка MulTEx Обучающие тренинги Наша группа ВКонтакте
Правила форума Начало Помощь Поиск Календарь Войти Регистрация Выйти
+  Excel это не сложно
|-+  Основные форумы
| |-+  Вопросы по Excel и VBA
| | |-+  Удобный автофильтр по критерию "содержит"
Страниц: [1]   Вниз
Печать
Автор Тема: Удобный автофильтр по критерию "содержит"  (Прочитано 8995 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Alex_ST
Постоялец
***

Репутация: +13/-0
Офлайн Офлайн

Сообщений: 156


Просмотр профиля
« : 14.06.2011, 12:34:26 »

Довёл, надеюсь, до финальной версии свой "удобный автофильтр", начатый мною на дружественном форуме
В прилагаемом файле приведено три варианта реализации удобного автофильтра по критерию "содержит". У вариантов разная степень автоматизации и требуемого для изменения параметров фильтрации вмешательства в программный код.

На листе Фильтр-Текстбокс АВТОМАТ - автофильтр по тексту, вводимому в текстбоксы.
Фильтрация происходит "на лету" по мере ввода символов в текстбокс.
Столбцы для фильтрации могут определяться как автоматически по положениям левых верхних углов текстбоксов, так и задаваться пользователем, поэтому вмешательство в код для изменения столбцов фильтрации либо не требуется, либо минимально. Можно задать столбцы фильтрации, отличные от положения текстбоксов. Для изменения столбцов фильтрации достаточно либо изменить положение текстбоксов в "Режиме констркутора", либо задать номер столбца в аргументе программы обработки.
Для каждого текстбокса опционально возможно его автоматическое позиционирование относительно ячейки и подгонка его ширины-высоты, а также замена "пробела" на "звёздочку".

На листе Фильтр-Ячейка АВТОМАТ - автофильтр по тексту, вводимому в ячейки.
Фильтрация происходит после выхода из ячейки.
Фильтровать или нет в столбце при изменении значения ячейки определяется тем, есть в ней специальная метка - примечание с заданным в коде текстом-признаком ФИЛЬТР-ячейка
Поэтому вмешиваться в код для того, чтобы добавить или убрать ячейки, в которые вводятся критерии фильтрации, нет необходимости.
P.S. Текст-признак при желании можно изменить во второй строке кода.
P.P.S. Текст-признак чувствителен к регистру!

На листе Фильтр-Ячейка - автофильтр по тексту, вводимому в ячейки. Фильтрация происходит после выхода из ячейки.
Ячейки, включающие фильтр, задаются непосредственно в коде. Столбцы, в которых производится фильтрация, совпадают со столбцами ячеек.

Для каждого из вариантов реализации весь исполняемый код VBA сосредоточен в модуле каждого Листа.
Ссылки на имя и номер Листа в коде отсутствуют. Поэтому любой Лист можно свободно переименовывать, переносить, копировать в другие книги без нарушения функционирования.
Записан

С уважением, Алексей
Анвариус
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 1


Просмотр профиля E-mail
« Ответ #1 : 14.05.2020, 15:36:38 »

Здравствуйте!
Фильтр классный!
А можно ее немного доработать макрос, чтобы можно было фильтровать даты, а не только текст/числа?
Записан
Alex_ST
Постоялец
***

Репутация: +13/-0
Офлайн Офлайн

Сообщений: 156


Просмотр профиля
« Ответ #2 : 14.05.2020, 16:11:29 »

Здравствуйте.
Рад, что Вам нравится моя разработка.
К сожалению, данный макрос заточен только на фильтрацию текста, т.к. текст - он текст и есть и никаких других вариантов отображения, а тем более численных соответствий не предполагает.
Переделать процедуру под фильтрацию дат - это отдельный проект уже хотя бы потому, что одна и та же дата, хоть ей и соответствует одно и то же числовое значение, в зависимости от формата ячейки может отображаться по-разному.
Как "костыль" могу предложить сделать рядом с основной таблицей дополнительные столбцы ДЕНЬ, МЕСЯЦ, ГОД, в которые формулами будут выводиться в ВИДЕ ТЕКСТА соответствующие значения из ячеек основного столбца
Записан

С уважением, Алексей
Страниц: [1]   Вверх
Печать
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2011, Simple Machines Valid XHTML 1.0! Valid CSS!
Яндекс.Метрика Рейтинг@Mail.ru