Назначение макроса кнопке формы или элемента управления

Применяется к
Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel 2024 Excel 2024 для Mac Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2016

Для запуска макроса, выполняющего действие по щелчку пользователя, можно использовать кнопку элемента управления "Форма" или кнопку команды (элемент ActiveX). Обе эти кнопки также называются кнопкой, которую можно настроить для автоматизации печати листа, фильтрации данных или вычисления чисел. Как правило, кнопка элемента управления "Форма" и кнопка команды элемента управления ActiveX внешне и функционально похожи. Тем не менее, у них есть некоторые различия, которые описаны в следующих разделах.

Совет

Сведения в этой статье предназначены для опытных пользователей Excel. Дополнительные сведения о макросах см. в статье "Добавление или изменение макроса элемента управления на листе".

Кнопка (элемент управления формы)
Пример кнопки (элемент управления формы)
Кнопка (элемент ActiveX)
Пример кнопки (элемент ActiveX)

В приведенных ниже разделах вы узнаете, как добавить макрос на кнопку в Excel (для Windows или Mac).

Примечание

Элементы ActiveX не поддерживаются на Mac.

Макросы и инструменты VBA находятся на вкладке " Разработчик ", которая по умолчанию скрыта.

Первый шаг — включить ее. Дополнительные сведения см. в статье: Отображение вкладки "Разработчик"

Вкладка

Добавление кнопки (элемент управления формы)

  1. На вкладке "Разработчик" в группе "Элементы управления" нажмите кнопку "Вставить", а затем в разделе "Элементы управления формами" щелкните изображение кнопки.
  2. Щелкните на листе место, где должен быть расположен левый верхний угол кнопки. Появится всплывающее окно "Назначение макроса ".
  3. Назначьте кнопке макрос и нажмите кнопку "ОК".
  4. Чтобы задать свойства элемента управления для кнопки, щелкните ее правой кнопкой мыши и выберите пункт "Формат".

Добавление кнопки команды (элемент ActiveX)

  1. На вкладке "Разработчик " в группе "Элементы управления" нажмите кнопку "Вставить", а затем в разделе "Элементы ActiveX" щелкните элемент "Изображениекнопки команды".

  2. Щелкните лист, в котором требуется отобразить левый верхний угол кнопки команды.

  3. В группе "Элементы управления " щелкните "Просмотр кода". Будет запущен редактор Visual Basic. Убедитесь, что в раскрывающемся списке справа выбран параметр "Щелчок ". Подпроцедура CommandButton1_Click (см. рисунок ниже) запускает эти два макроса при нажатии кнопки: SelectC15 и HelloMessage.
    Подпрограмма в редакторе Visual Basic

  4. В подпроцедуре для кнопки выполните одно из следующих действий.

    • Введите имя макроса, существующего в книге. Чтобы найти макросы, щелкните "Макросы " в группе "Код ". Вы можете запустить несколько макросов с помощью кнопки, введя их имена в отдельных строках внутри подпроцедуры.
    • При необходимости добавьте собственный код VBA.
  5. Закройте редактор Visual Basic и нажмите изображение кнопки режима конструктора, чтобы убедиться, что режим конструктора отключен.

  6. Чтобы запустить код VBA, который теперь является частью кнопки, нажмите только что созданную кнопку команд ActiveX.

  7. Чтобы изменить элемент ActiveX, убедитесь, что выбран режим конструктора. На вкладке Разработчик в группе Элементы управления нажмите кнопку Режим конструктора.

  8. Чтобы задать свойства элемента управления для кнопки, на вкладке "Разработчик" в группе "Элементы управления" щелкните изображение кнопки ". Вы также можете щелкнуть правой кнопкой команду и выбрать пункт "Свойства".

    Примечание

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

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

Описание параметра Необходимое свойство
Общие
Указывает, загружается ли элемент управления при открытии книги. (Для элементов ActiveX этот параметр игнорируется.) AutoLoad (Excel)
Может ли элемент управления получать фокус и реагировать на события, создаваемые пользователем. Enabled (форма)
Можно ли изменять элемент управления Locked (форма)
Имя элемента управления Name (форма)
Способ привязки элемента управления к расположенным под ним ячейкам (не закреплен, можно перемещать, но нельзя изменять размер, можно перемещать и изменять размер) Placement (Excel)
Можно ли выводить элемент управления на печать PrintObject (Excel)
Является ли элемент управления видимым или скрытым Visible (форма)
Текстовая функция.
Атрибуты шрифта (полужирный, курсив, размер, зачеркивание, подчеркивание и насыщенность) Bold, Italic, Size, StrikeThrough, Underline, Weight (форма)
Поясняющий текст элемента управления, определяющий или описывающий его Caption (форма)
Будет ли содержимое элемента управления переноситься по словам в конце строки WordWrap (форма)
Размер и положение:
Будет ли размер элемента управления изменяться автоматически для отображения всего содержимого AutoSize (форма)
Высота или ширина в пунктах Height, Width (форма)
Расстояние от элемента управления до левого или верхнего края листа Left, Top (форма)
Форматирование
Цвет фона BackColor (форма)
Стиль фона (прозрачный или непрозрачный) BackStyle (форма)
Цвет переднего плана ForeColor (форма)
Наличие тени элемента управления Shadow (Excel)
Изображение
Точечный рисунок, отображаемый в элементе управления Picture (форма)
Положение рисунка относительно его заголовка (слева, сверху, справа и так далее) PicturePosition (форма)
Клавиатура и мышь:
Сочетание клавиш для элемента управления Accelerator (форма)
Настраиваемый значок мыши MouseIcon (форма)
Тип указателя, который отображается, когда пользователь наводит указатель мыши на определенный объект (стандартный, стрельчатый, I-образный указатель и т. д.). MousePointer (форма)
Принимает ли элемент управления фокус при щелчке. TakeFocusOnClick (форма)

Дополнительные сведения

Вы всегда можете задать вопрос эксперту в Excel Tech Community или получить поддержку в сообществах.

См. также