Создание пользовательского интерфейса макросов с помощью форм

Запуск макроса с помощью комбинации клавиш поможет в том случае, когда в отчете сводной таблицы присутствует только один макрос. Предпаюжим, однако, что вы хотите предоставить своим клиентам несколько макросов, выполняющих разные действия. В таком случае нужно обеспечить клиентов понятным и простым методом запуска каждого макроса, не прибегая к запоминанию комбинаций клавиш.

Идеальное решение — это простой пользовательский интерфейс. Можете представить пользовательский интерфейс в виде набора таких элементов управления, как кнопки, полосы прокрутки и другие средства, позволяющие выполнять макросы в результате щелчков мышью.

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

Элементы управления формы можно найти в группе Элементы управления формы (Controls) вкладки ленты Разработчик. Чтобы открыть палитру элементов управления форм, щелкните в этой группе на кнопке Вставить (Insert) (рис. 11.3).

Рис. 11.3. Перейдите в группу Элементы управления формы вкладки Разработчик и щелкните на кнопке Вставить для просмотра доступных элементов управления

Рис. 11.3. Перейдите в группу Элементы управления формы вкладки Разработчик и щелкните на кнопке Вставить для просмотра доступных элементов управления

Обратите внимание: кроме элементов управления формы на палитре также присутствуют элементы управления ActiveX. Хотя они и достаточно похожи, программно это совершенно разные объекты. Элементы управления формы со своими ограниченными возможностями и простыми настройками специально разрабатывались для размещения на рабочих листах. В то же время элементы управления ActiveX применяются преимущественно на пользовательских формах. Возьмите за правило размещать на рабочих листах исключительно элементы управления формы.

Вам необходимо определить элементы управления, которые лучше всего подходят для решения поставленной задачи. В рассматриваемом примере клиентам необходимо предоставить возможность обновления сводной таблицы щелчком на кнопке. Щелкните на элементе управления Кнопка (Button), переместите указатель мыши в то место рабочего листа, где должна располагаться кнопка, и щелкните мышью. После того как поместите кнопку в таблицу, откроется диалоговое окно Назначить макрос объекту (Assign Macro), показанное на рис. 11.4. В нем этой кнопке назначается макрос. Выберите требуемый макрос (в нашем случае — RefreshData, записанный ранее) и щелкните на кнопке ОК.

Рис. 11.4. выберите макрос, который нужно присвоить кнопке, и щелкните на кнопке ОК. В данном случае следует применять макрос RefreshData

Рис. 11.4. выберите макрос, который нужно присвоить кнопке, и щелкните на кнопке ОК. В данном случае следует применять макрос RefreshData

Обратите внимание: все элементы управления формы при назначении им макроса используются примерно так же, как и кнопка.

На рис. 11.5 показаны готовые к работе кнопки, которым назначены разные макросы. Этот пример демонстрирует возможности элементов управления рабочей книги, которым назначаются макросы.

Рис. 11.5. Если вы используете множество макросов, то можете назначить каждый макрос отдельному элементу управления, а затем переименовать эти элементы управления

Рис. 11.5. Если вы используете множество макросов, то можете назначить каждый макрос отдельному элементу управления, а затем переименовать эти элементы управления

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

Рис. 11.6. Вы с легкостью можете создать пользовательский интерфейс с помощью макросов, нескольких элементов управления формы и средств форматирований

Рис. 11.6. Вы с легкостью можете создать пользовательский интерфейс с помощью макросов, нескольких элементов управления формы и средств форматирований

Top