Как запустить макрос в Excel и создать кнопку макроса

  • Поделись Этим
Michael Brown

В этом учебнике мы рассмотрим множество различных способов запуска макроса в Excel - с ленты и из редактора VB Editor, с помощью пользовательской комбинации клавиш, а также путем создания собственной кнопки макроса.

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

    Как запустить макрос с ленты Excel

    Одним из самых быстрых способов выполнения VBA в Excel является запуск макроса из окна Разработчик Если вы никогда раньше не работали с кодом VBA, возможно, вам придется сначала активировать вкладку Разработчик. Затем выполните следующие действия:

    1. На Разработчик во вкладке Код группу, нажмите Макросы Или нажмите сочетание клавиш Alt + F8.
    2. В появившемся диалоговом окне выберите интересующий вас макрос, а затем нажмите кнопку Запускайте .

    Совет. Если вкладка "Разработчик" не добавлена на ленту Excel, нажмите Alt + F8, чтобы открыть вкладку "Разработчик". Макро диалог.

    Запуск макроса с помощью пользовательской комбинации клавиш

    Если вы регулярно выполняете определенный макрос, вы можете назначить ему сочетание клавиш. Сочетание клавиш можно добавить при записи нового макроса и к уже существующему. Для этого выполните следующие действия:

    1. На Разработчик во вкладке Код группу, нажмите Макросы .
    2. В Макро диалоговое окно, нажмите Опции .
    3. Сайт Параметры макросов появится диалоговое окно. В Ярлык введите любую заглавную или строчную букву, которую вы хотите использовать для ярлыка, а затем нажмите OK, чтобы сохранить изменения.
      • Для строчных букв сочетание клавиш Ctrl + буква .
      • Для заглавных букв сочетание клавиш Ctrl + Shift + буква .
    4. Закройте Макро диалоговое окно.

    Совет. Рекомендуется всегда использовать в верхнем регистре комбинации клавиш для макросов (Ctrl + Shift + буква) не переопределять стандартные сочетания клавиш Excel. Например, если вы назначите Ctrl + f для макроса, вы потеряете возможность вызывать функцию Найти и заменить диалог.

    Когда ярлык назначен, просто нажмите эту комбинацию клавиш, чтобы запустить макрос.

    Как запустить макрос из редактора VBA

    Если вы хотите стать профессионалом в Excel, то вам обязательно нужно знать, как запустить макрос не только из Excel, но и из редактора Visual Basic. Хорошая новость заключается в том, что это гораздо проще, чем вы могли бы ожидать :)

    1. Нажмите Alt + F11, чтобы запустить редактор Visual Basic.
    2. В Исследователь проектов в окне слева дважды щелкните модуль, содержащий ваш макрос, чтобы открыть его.
    3. В Код В окне справа вы увидите все макросы, перечисленные в модуле. Установите курсор в любом месте макроса, который вы хотите выполнить, и сделайте одно из следующих действий:
      • В строке меню нажмите Запускайте > Run Sub/UserForm .
      • На панели инструментов нажмите кнопку Запустить макрос (зеленый треугольник).

      В качестве альтернативы можно использовать одно из следующих сочетаний клавиш:

      • Нажмите F5, чтобы запустить весь код.
      • Нажмите F8, чтобы запустить каждую строку кода отдельно. Это очень полезно при тестировании и отладке макросов.

    Совет. Если вы любите работать с Excel с клавиатуры, вам может пригодиться этот учебник: 30 самых полезных сочетаний клавиш Excel.

    Как создать кнопку макроса в Excel

    Традиционные способы запуска макросов несложны, но все же могут представлять проблему, если вы работаете в одной рабочей книге с человеком, не имеющим опыта работы с VBA - он просто не будет знать, где искать! Чтобы сделать запуск макроса действительно простым и интуитивно понятным для любого, создайте собственную кнопку макроса.

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

    Теперь можно запустить макрос, нажав на его кнопку. Макрос, который мы назначили, отформатирует выделенные ячейки, как показано на скриншоте ниже:

    Совет. Вы также можете назначить макрос существующей кнопке или другим элементам управления формы, таким как кнопки вращения или полосы прокрутки. Для этого щелкните правой кнопкой мыши элемент управления, вставленный в рабочий лист, и выберите команду Назначить макрос из всплывающего меню.

    Создание кнопки макроса из графического объекта

    К сожалению, нет возможности настраивать внешний вид кнопок управления, поэтому кнопка, которую мы создали минуту назад, выглядит не очень красиво. Чтобы сделать действительно красивую кнопку макроса Excel, можно использовать фигуры, значки, изображения, WordArt и другие объекты.

    В качестве примера я покажу вам, как можно запустить макрос, щелкнув по фигуре:

    1. На Вставка во вкладке Иллюстрации группу, нажмите Формы и выберите нужный тип фигуры, например, прямоугольник с закругленными углами:
    2. В рабочем листе щелкните место, куда нужно вставить объект фигуры.
    3. Отформатируйте свою форму-кнопку так, как вам нужно. Например, вы можете изменить цвета заливки и контура или использовать один из предопределенных стилей на экране Формат формы Вкладка. Чтобы добавить текст на фигуру, просто дважды щелкните ее и начните вводить текст.
    4. Чтобы связать макрос с фигурой, щелкните правой кнопкой мыши объект фигуры, выберите Назначить макрос..., затем выберите нужный макрос и нажмите кнопку OK .

    Теперь у вас есть форма, которая выглядит как кнопка и запускает назначенный макрос каждый раз, когда вы нажимаете на нее:

    Как добавить кнопку макроса на панель инструментов быстрого доступа

    Кнопка макроса, вставленная в рабочий лист, выглядит хорошо, но добавление кнопки на каждый лист отнимает много времени. Чтобы сделать любимый макрос доступным из любого места, добавьте его на панель инструментов быстрого доступа. Вот как это сделать:

    1. Щелкните правой кнопкой мыши панель инструментов быстрого доступа и выберите Другие команды... из контекстного меню.
    2. В Выберите команды из список, выберите Макросы .
    3. В списке макросов выберите макрос, который вы хотите назначить кнопке, и нажмите кнопку Добавить Это переместит выбранный макрос в список кнопок панели инструментов быстрого доступа справа.

      На этом этапе вы можете нажать OK, чтобы сохранить изменения, или выполнить еще несколько настроек, описанных ниже.

    4. Если вы обнаружите, что значок, добавленный Microsoft, не подходит для вашего макроса, нажмите кнопку Изменить чтобы заменить значок по умолчанию на другой.
    5. В Кнопка "Изменить В появившемся диалоговом окне выберите значок для вашей макрокнопки. По желанию вы также можете изменить Отображаемое имя в отличие от имени макроса, имя кнопки может содержать пробелы.
    6. Нажмите OK дважды, чтобы закрыть оба диалоговых окна.

    Готово! Теперь у вас есть собственная кнопка Excel для запуска макроса:

    Как поместить кнопку макроса на ленту Excel

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

    Сначала добавьте пользовательскую группу в существующую вкладку или в свою собственную вкладку. Подробные инструкции см:

    • Как создать пользовательскую вкладку ленты
    • Как добавить пользовательскую группу

    Затем добавьте кнопку макроса в пользовательскую группу, выполнив следующие действия:

    1. Щелкните правой кнопкой мыши ленту, а затем щелкните Настройка ленты .
    2. В появившемся диалоговом окне выполните следующие действия:
      • На вкладках списка справа выберите пользовательскую группу.
      • В Выберите команды из список слева, выберите Макросы .
      • В списке макросов выберите тот, который вы хотите добавить в группу.
      • Нажмите кнопку Добавить кнопка.

      Для этого примера я создал новую вкладку с именем Макросы и пользовательскую группу под названием Макросы форматирования На приведенном ниже снимке экрана мы добавляем параметр Format_Headers макрос для этой группы.

    3. Теперь макрос добавлен в пользовательскую группу ленты. Чтобы дать макрокнопке более дружелюбное имя, выделите ее и нажмите кнопку Переименовать :
    4. В Переименовать диалогового окна, введите любое имя, которое вы хотите, в поле Отображаемое имя (в именах кнопок допускаются пробелы) и выберите значок для вашей макрокнопки. После этого нажмите OK.
    5. Нажмите OK чтобы сохранить изменения и закрыть главное диалоговое окно.

    В качестве примера я поместил три кнопки макросов на ленту Excel и теперь могу запустить любой из них одним нажатием кнопки:

    Как запустить макрос при открытии рабочей книги

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

    Автоматический запуск макроса с помощью события Workbook_Open

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

    1. Откройте рабочую книгу, в которой будет выполняться макрос.
    2. Нажмите Alt + F11, чтобы открыть редактор Visual Basic.
    3. В проводнике проекта дважды щелкните ThisWorkbook чтобы открыть окно Код.
    4. В Объект список над окном Код, выберите Рабочая тетрадь Это создает пустую процедуру для Открыть событие, в которое вы можете добавить свой собственный код, как показано на скриншоте ниже.

    Например, следующий код будет отображать приветственное сообщение при каждом открытии рабочей книги:

    Private Sub Workbook_Open() MsgBox "Добро пожаловать в ежемесячный отчет!" End Sub

    Запуск макроса при открытии рабочей книги с помощью события Auto_Open

    Другим способом автоматического запуска макроса при открытии рабочей книги является использование события Auto_Open. В отличие от события Workbook_Open, Auto_Open() должна находиться в стандартном модуле кода, а не в ThisWorkbook .

    Ниже описаны шаги по созданию такого макроса:

    1. В Исследователь проектов , щелкните правой кнопкой мыши Модули , а затем нажмите Вставка > Модуль .
    2. В Код окна, напишите следующий код:

    Вот пример реального кода, который выводит окно сообщения при открытии рабочей книги:

    Sub Auto_Open() MsgBox "Добро пожаловать в ежемесячный отчет!" End Sub

    Примечание! Авто_Открытие устарело и доступно для обратной совместимости. В большинстве случаев его можно заменить на Рабочая книга_Открыть событие. Более подробную информацию см. в разделе Рабочая книга_Открыть в сравнении с Автооткрытием.

    Какое бы событие вы ни использовали, ваш макрос будет запускаться автоматически каждый раз, когда вы открываете файл Excel, содержащий код. В нашем случае отображается следующее окно сообщения:

    Теперь, когда вы знаете множество способов запустить макрос в Excel, вам остается только выбрать наиболее подходящий для ваших нужд. Я благодарю вас за чтение и надеюсь увидеть вас в нашем блоге на следующей неделе!

    Майкл Браун — увлеченный технологический энтузиаст, стремящийся упростить сложные процессы с помощью программных инструментов. Имея более чем десятилетний опыт работы в технологической отрасли, он отточил свои навыки в Microsoft Excel и Outlook, а также в Google Sheets и Docs. Блог Майкла посвящен тому, чтобы делиться своими знаниями и опытом с другими, предоставляя простые советы и учебные пособия для повышения производительности и эффективности. Являетесь ли вы опытным профессионалом или новичком, в блоге Майкла вы найдете ценную информацию и практические советы, которые помогут вам максимально эффективно использовать эти важные программные инструменты.