Самоучитель VBA

         

ПХЯ У10 6 Диалоговое окно Фильтрация



пХЯ. У10.6. Диалоговое окно Фильтрация


Перейдем к рассмотрению кнопок панели инструментов пользовательского меню.



Кнопка

Назначение

Регистрация

Активизирует диалоговое окно Регистрация туристов фирмы "С нами не соскучишься"

Поиск и редактирование

Активизирует диалоговое окно Поиск

Фильтр и его отмена

Создает в заголовках полей базы данных раскрывающиеся списки со средствами фильтрации данных. Повторное нажатие на кнопку удаляет эти списки

Фильтрация оплаченных путевок

Активизирует диалоговое окно Фильтрация

Сортировка

Сортирует данные в алфавитном порядке по направлениям туров

Сводная -таблица

Создает на отдельном рабочем листе сводную таблицу, в которой подсчитывает суммарную продолжительность оплаченных и неоплаченных путевок по каждому из направлений туров

b

Сохраняет данные по принципу команды Сохранить (Save)

я

Сохраняет данные по принципу команды Сохранить как (Save as)

В пользовательском меню Файл имеются только три пункта: сохранить, сохранить как И Закрыть.

Перейдем теперь к тексту программы. В своей структуре она имеет несколько модулей. Проанализируем работу этой программы, последовательно обсудив каждый из ее модулей.

Модуль Модуль 1

Описываются переменные уровня проекта.

Option Explicit

Public СписокНайденных () As String

Public Фамилия As String

'

' При поиске клиента по фамилии в соответствии с используемым в приложении

' алгоритмом на длину фамилии не налагается ограничений

'

Public Имя As String * 20

Public Пол As String * 3

Public ВыбранныйТур As String * 20

Public Оплачено As String * 3

Public Фото As String * 3

Public Паспорт As String * 3

Public Срок As String * 3

Public НомерСтроки As Integer

Public НайденнаяЗапись As Integer

Public Продолжительность As Integer

Модуль

ThisWorkbook

Создается пользовательское меню и панели инструментов, а также заголовок окна пользовательского приложения. Устанавливается связь между кнопками пользовательской панели инструментов и процедурами модуля, которые инициализируют соответствующие диалоговые окна или выполняют указанные действия. Устанавливается режим работы, при котором весь пользовательский интерфейс прекращает свое существование при закрытии приложения. Процедура workbook_WindowActivate создает пользовательский интерфейс при загрузке книги. Процедура workbook windowDeactivate восстанавливает интерфейс, используемый в окне рабочей книги Excel по умолчанию.

Private Sub Workbook_WindowActivate(ByVal Wn As Excel.Window)

'

' Процедура создания новой панели инструментов и новое меню при

' открытии рабочей книги

'

' При открытии рабочей книги панели инструментов Форматирование

' и Стандартная скрываются и отображается новый заголовок окна приложения

With Application

.Caption = "С нами не соскучишься"

.DisplayAlerts = False

.CoirmandBars ("Formatting") .Visible = False

.ContmandBars ("Standard") .Visible = False

End With

'

' Создание новой панели инструментов с именем

' Рабочая панель инструментов, которая будет

' удаляться при закрытии приложения

'

With Application.CommandBars.Add(Nаmе:="Рабочая панель инструментов", Position:=msoBarTop, MenuBar:=False, Temporary:=True)

.Visible = True

With .Controls

'

' Первая кнопка

'

With .Add(Type:=msoContro!Button, Id:=l)

.Caption = "Регистрация"

.TooltipText = "Регистрация клиентов"

.Style = msoButtonCaption

.OnAction = "Модуль1.UserForml_Initialize"

End With

'

' Вторая кнопка

'

With .Add(Typef=msoControlButton, Id:=l)

.Caption = "Поиск и редактирование"

.TooltipText = "Поиск и редактирование"

.Style = msoButtonCaption

.OnAction = "Модуль1.UserForm3_Initialize"

End With

'

' Третья кнопка

'

With .Add(Type:=msoControlButton, Id:=l)

.Caption = "Фильтр и его отмена"

.TooltipText = "Установка и снятие фильтра"

.Style = msoButtonCaption

.OnAction = "Модуль1.Автофильтр"

End With

'

' Четвертая кнопка

'

With .Add{Type:=msoControlButton, Id:=1)

.Caption = "Фильтрация оплаченных путевок"

.TooltipText = "Отображаются только оплаченные путевки"

.Style = msoButtonCaption

.OnAction = "Модуль1.UserForm4_Initialize"

End With

'

' Пятая кнопка

'

With .Add(Type:=msoControlButton, Id:=l)

.Caption = "Сортировка"

.TooltipText = "Сортировка данных"

.Style = msoButtonCaption

.OnAction = "Модуль1.Сортировка"

End With

End With

End With

'

' Вторая панель инструментов с именем Сводная таблица и файлы

'

With Application.CommandBars.Add(Name:="Сводная таблица и файлы", Position:=msoBarTop, MenuBar:=False, Temporary:=True)

.Visible = True

With .Controls

'

' Первая кнопка

'

With .Add(Type:=msoControlButton, Id:=l)

.Caption = "Сводная таблица"

.TooltipText = "Построение сводной таблицы"

.Style = msoButtonCaption

.OnAction = "Модуль1.Сводная



Содержание раздела