Автофильтр – это наиболее простой способ отбора данных, размещенных в «базе данных». Для вызова автофильтра достаточно установить рамку выделения на ячейку в строке заголовков и выполнить команду Фильтр8Автофильтр… в меню Данные. Программным способом автофильтр можно активизировать командой
Selection.AutoFilter
После включения автофильтра пользователь может задать условия отбора информации для каждого столбца, щелкнув по кнопке раскрытия списка, расположенной рядом с назнанием столбца в строке заголовков таблицы (рис. 29).
Приведенный ниже фрагмент кода позволяет выбрать из всего списка информацию о сотрудниках-мужчинах:
Selection.AutoFilter Field:=2, Criteria1:="м"
(для второго поля, имеющего в таблице заголовок «Пол», устанавливается условие (критерий) отбора: выбираются записи, содержащие в этом поле значение "м").
Отбор данных можно осуществить сразу по нескольким полям. Например, чтобы получить информацию о мужчинах пенсионного возраста следует к сформированному ранее условию добавить еще одно (задать критерий для поля «Год рождения»):
(В таблице после выполнения этого кода останутся всего две строки, содержащие информацию о сотрудниках Сидорове и Яковлеве.)
Отменить условие отбора данных по значению конкретного поля можно, выполнив код
Selection.AutoFilter Field:=2
(при «ручной» отмене в списке выбирается строка «Все»).
Пользователь может сформировать более сложное условие отбора, используя логические операции «И» и «ИЛИ». Например, вывести информацию о сотрудниках, чьи фамилии начинаются на буквы «И» или «Я», можно с помощью кода
Но возможности автофильтра ограничены. Рассмотрим, например, следующую задачу: нужно вывести информацию обо всех сотрудниках фирмы пенсионного возраста. Поблема в данном случае состоит в том, что у мужчин и женщин пенсионный возраст различен.
Такую задачу можно решить лишь с помощью расширенного фильтра.