Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Порядок выполнения курсовой работы Exce-new2012...doc
Скачиваний:
1
Добавлен:
18.08.2019
Размер:
3.75 Mб
Скачать

3.3. Расширенный фильтр

Расширенный фильтр - сложный вид фильтрации по сравнению с автофильтром. Для выполнения расширенной фильтрации необходимо предварительно сформировать в свободном месте рабочего листа критерий фильтрации.

Для создания таблицы критериев выделяем ячейки A10:G10 и копируем их в ячейки A1:G1. Добавляем еще одну ячейку «Количество» (G1). Строка 2 будет содержать критерии отбора данных.

Фильтрация по наименованию

Для фильтрации по наименованию выполняются следующие действия:

  1. Установить курсор в произвольную ячейку рабочего листа, например I40. Выбрать команду Сервис/Макрос/Начать запись (Разработчик/Записать макрос). Ввести имя макроса - фильтр_наименование:

  1. Установить курсор в ячейку E2 и ввести с клавиатуры наименование любого фрукта, который есть в таблице, например Апельсины.

  2. Установить курсор в ячейку A10 и выполнить команду Данные/Фильтр/Расширенный фильтр MS Office 2007 Данные/Сортировка и фильтр/Дополнительно). В появившемся окне ввести два диапазона данных: исходный диапазон – ячейки A10:G40 (вся исходная таблица) и диапазон условий – ячейки А1:H2

  1. Нажать ОК и выделить ячейку A1. В результате получится таблица:

  1. Выбрать команду Сервис/Макрос/Остановить запись (Разработчик/Остановить запись).

  2. Для внесения изменений в текст макроса нужно выбрать команду Сервис/Макрос/Макросы, в появившемся окне выделить макрос фильтр_наименование и нажать кнопку «Войти». В результате перехода мы окажемся в среде редактора Visual Basic в тексте нужного макроса.

В строке

ActiveCell.FormulaR1C1 = «апельсины»

Необходимо заменить слово «апельсины», в результате получим

ActiveCell.FormulaR1C1 = InputBox("введите наименование фрукта")

При нажатии на кнопку «фильтр_наименование» появится диалоговое окно

Фильтрация по фио двух продавцов

Для фильтрации по ФИО двух продавцов выполняются следующие действия:

  1. Установить курсор в произвольную ячейку рабочего листа, например I40. Выбрать команду Сервис/Макрос/Начать запись (Разработчик/Записать макрос).

  2. Ввести имя макроса - фильтр_фио:

  1. Установить курсор в ячейку D2 и ввести с клавиатуры одну фамилию, в ячейку D3 ввести с клавиатуры другую фамилию из тех, которые есть в таблице, например Антонова и Попова.

  2. Установить курсор в ячейку A10 и выполнить команду Данные/Фильтр/Расширенный фильтр MS Office 2007 Данные/Сортировка и фильтр/Дополнительно). В появившемся окне ввести два диапазона данных: исходный диапазон – ячейки A10:G40 (вся исходная таблица) и диапазон условий – ячейки А1:H3.

  1. Нажать ОК и выделить ячейку A1. В результате получится таблица:

  1. Выбрать команду Сервис/Макрос/Остановить записьMS Office 2007 Разработчик/ Остановить запись)

  2. Для внесения изменений в текст макроса нужно выбрать команду Сервис/Макрос/Макросы MS Office 2007 Разработчик/Макросы), в появившемся окне выделить макрос фильтр_фио и нажать кнопку «Войти». В результате перехода мы окажемся в среде редактора Visual Basic в тексте нужного макроса.

В строке

ActiveCell.FormulaR1C1 = «Антонова»

Необходимо заменить слово «Антонова», в результате получим

ActiveCell.FormulaR1C1 = InputBox("введите ФИО первого продавца")

В строке

ActiveCell.FormulaR1C1 = «Попова»

Необходимо заменить слово «Попова», в результате получим

ActiveCell.FormulaR1C1 = InputBox("введите ФИО второго продавца")

При нажатии на кнопку «фильтр_фио» последовательно появятся 2 диалоговых окна