Оригинал статьи: https://www.howtoexcel.org/run-vba-macro/
Вы хотите узнать, как можно запустить макрос VBA в Microsoft Excel? В этом руководстве будут показаны все методы, которые вы можете использовать для запуска вашего кода VBA.
Microsoft Excel - это мощное приложение для работы с электронными таблицами, которое предлагает пользователям множество функций и возможностей. Одной из самых популярных функций Excel является возможность создавать и запускать макросы VBA.
Макрос - это небольшой скрипт, написанный на языке программирования VBA (Visual Basic for Applications), который можно запускать в вашем настольном приложении Excel.
Макросы могут сэкономить вам много времени и энергии при работе в Excel. Их можно использовать для автоматизации утомительных задач и экономии часов работы каждую неделю.
Но для того, чтобы использовать этот инструмент экономии времени, вам нужно знать, как запускать макросы VBA.
Следуйте этому руководству, и вы сможете начать запускать макросы как профессионал в кратчайшие сроки!
Запустите макрос VBA на вкладке Разработчик
Наиболее распространенный способ запуска макроса - с вкладки Разработчик (Developer) на ленте Excel.
По умолчанию эта вкладка скрыта, поэтому сначала вам нужно включить вкладку Разработчик в вашем настольном приложении Excel.
Выполните следующие действия, чтобы запустить макрос VBA на вкладке Разработчик.
- Перейдите на вкладку Разработчик.
- Нажмите команду "Макросы" в разделе "Код".
Откроется меню Макрос, в котором перечислены все доступные для запуска макросы.
- Выберите макрос, который вы хотите запустить.
- Нажмите кнопку Выполнить.
Вот и все! Выбранный вами код макроса теперь будет выполнен!
💡 Совет: Используйте раскрывающийся список Макросы в, чтобы выбрать расположение макросов для запуска. Вы можете выбрать конкретную книгу, все открытые книги или эту книгу.
Запустите VBA на вкладке Просмотр
Команда макроса также доступна на вкладке "Вид".
Перейти на вид на вкладку и нажмите кнопку макросы, кнопки для запуска макросов меню.
Откроется то же диалоговое окно с макросом, что и раньше, и вы можете выбрать макрос и нажать кнопку Выполнить.
Запустите макрос VBA из меню макросов с помощью сочетания клавиш
Есть более простой способ открыть меню макроса! Нет необходимости использовать вкладку "Разработчик" или "Вид", поскольку для открытия меню "Макрос" есть специальное сочетание клавиш.
Вы можете использовать сочетание клавиш Alt + F8, чтобы открыть меню макроса.
Запустите макрос VBA с помощью сочетания клавиш
Вы можете полностью обойти диалоговое окно макроса, назначив сочетание клавиш нужному макросу.
Если это макрос, который вы хотите часто использовать, то назначение ярлыка - хороший способ избежать большого количества нажатий, необходимых при запуске макроса через меню макроса.
Выполните следующие действия, чтобы назначить макросу специальное сочетание клавиш.
- Откройте меню Макрос.
- Выберите макрос, которому вы хотите назначить сочетание клавиш.
- Нажмите кнопку Параметры.
Откроется меню Параметров макроса, в котором вы можете добавить описание для макроса и назначить сочетание клавиш.
- Добавьте символ в поле ввода сочетания клавиш.
- Нажмите кнопку OK в меню Параметров макроса.
- Нажмите кнопку Отмена в меню Макросы.
⚠️ Предупреждение: Это выбранное сочетание клавиш переопределит любое существующее сочетание клавиш, поэтому вам следует избегать использования клавиш, заменяемых часто используемыми сочетаниями клавиш, такими как копировать, вставить и т.д.
Множество Ctrl комбинаций отдельных клавиш уже используются в часто используемых командах, поэтому вместо них может потребоваться создать ярлык Ctrl + Shift.
💡 Совет: Удерживайте Shift клавишу во время ввода клавиши быстрого ввода, чтобы создать сочетание Ctrl + Shift.
Запустите макрос VBA с помощью кнопки управления формой
Если другие люди используют ваше решение для работы с электронными таблицами, они могут не осознавать, что могут запускать ваши макросы для завершения своей работы.
Здесь кнопка является предпочтительным выбором для запуска макроса. Это делает процесс запуска вашего макроса простым и очевидным!
Вы можете создать кнопку управления формой для запуска макроса при нажатии на кнопку. Ее можно разместить в любом месте электронной таблицы, поскольку она находится поверх сетки. Это означает, что она не будет мешать работе с остальными вашими данными или формулами.
Выполните следующие действия, чтобы вставить кнопку управления формой и назначить ей макрос.
- Перейдите на вкладку Разработчик.
- Нажмите на команду Вставить.
- Выберите опцию Button, которая находится в разделе Элементы управления формой.
На самом деле кнопка при этом пока не будет вставлена. Вы заметите, что ваш курсор превратился в маленький черный знак плюс. Это позволит вам нарисовать кнопку на вашем листе.
- Щелкните левой кнопкой мыши и перетащите в любое место листа.
Когда вы отпустите действие щелчка и перетаскивания, немедленно появится меню "Назначить макрос", и вы сможете назначить свой макрос кнопке.
- Выберите свой макрос.
- Нажмите кнопку OK.
Теперь у вас на листе есть кнопка, которая при нажатии запускает выбранный вами макрос VBA.
💡 Совет: Правильно нажмите на кнопку и выберите Редактировать текст, чтобы изменить текст, отображаемый на кнопке.
Запустите макрос VBA из любой фигуры, значка или изображения
Кнопки управления формой довольно уродливы и устарели. У них также не так много опций для настройки внешнего вида, но, к счастью, это не единственный способ создать кнопку для запуска ваших макросов!
Есть несколько гораздо более стильных вариантов, таких как использование изображения, фигуры или значка в качестве кнопки для запуска макросов.
Выполните следующие действия, чтобы назначить макрос любому объекту, такому как изображение, фигура или значок.
- Щелкните правой кнопкой по объекту.
- Выберите в меню опцию Назначить макрос.
- Выберите макрос в меню Назначить макрос.
- Нажмите кнопку OK.
Теперь, когда вы нажимаете на фигуру, изображение или значок, выполняется код макроса!
Запустите макрос VBA с помощью команды панели быстрого доступа
Другой вариант - добавить наиболее часто используемые макросы на панель быстрого доступа.
Панель быстрого доступа представляет собой настраиваемый набор команд, которые всегда видны, чтобы вы могли легко использовать их в любое время. Вы даже можете добавить макрос, чтобы его можно было запускать одним щелчком мыши.
Выполните следующие действия, чтобы добавить макрос на панель быстрого доступа.
- Щелкните правой кнопкой мыши в любом месте панели быстрого доступа.
- Выберите в меню опцию Настроить панель быстрого доступа.
Откроется меню "Параметры Excel" в разделе "Панель инструментов быстрого доступа"..........
- Выберите макросы в раскрывающемся списке Выбрать команды из.
- Выберите макрос, который вы хотите добавить на панель быстрого доступа.
- Нажмите кнопку Добавить.
- Нажмите кнопку OK.
Когда вы нажмете кнопку Добавить, вы увидите, что выбранный макрос добавляется в ваш список команд. Вы можете использовать кнопки со стрелками вверх и вниз, чтобы настроить порядок отображения этого макроса в ваших командах.
💡 Совет: Нажмите кнопку Изменить в параметрах Excel, чтобы изменить значок и метку макроса, которые появятся на панели быстрого доступа!
Теперь на панели инструментов быстрого доступа должен появиться новый значок. Нажмите на него, чтобы запустить выбранный макрос.
💡 Совет: Самый простой способ использовать команды на панели быстрого доступа - это использовать Alt сочетания горячих клавиш. В этом примере команда находится на 8-й позиции, начиная с команды отмены, поэтому вы можете нажать Alt + 8, чтобы запустить макрос.
Запустите макрос VBA из пользовательской команды ленты
Если у вас есть целый набор макросов и вам не хватает места на панели быстрого доступа, то идеальным решением может стать добавление пользовательской вкладки ленты для упорядочивания ваших макросов.
Excel позволяет добавлять собственные пользовательские ленты и заполнять их вашими любимыми макросами, а также любыми другими командами, которые вы часто используете.
Выполните следующие действия, чтобы добавить макрос на ленту Excel.
- Щелкните правой кнопкой мыши в любом месте на ленте Excel.
- Выберите в меню опцию Настроить ленту.
Откроется меню параметров Excel в разделе Настройка ленты.
- Нажмите кнопку Новая вкладка, чтобы создать новую вкладку ленты.
- Нажмите кнопку Переименовать, чтобы присвоить вашей вкладке имя.
Для каждой вкладки потребуется по крайней мере одна группа, и она создается автоматически при создании новой вкладки. Вы также можете переименовать группу. Оба эти названия будут отображаться на вашей ленте Excel.
Теперь вы сможете добавить макрос в новую вкладку и группу.
- Выберите опцию Макросы в раскрывающемся списке Выбор команд из.
- Выберите макрос, который вы хотите добавить на ленту.
- Нажмите кнопку Добавить.
- Нажмите кнопку OK.
💡 Совет: Выберите вкладку и используйте кнопки со стрелками Вверх или Вниз, чтобы изменить положение новой вкладки на ленте.
Теперь у вас есть новая пользовательская вкладка, на которой можно хранить все наиболее часто используемые макросы. 😃
Запустите макрос VBA из меню запуска редактора Visual Basic
Редактор Visual Basic (VBE) - это среда, в которой вы пишете код VBA, поэтому имеет смысл, что вы также должны иметь возможность запускать свой код из него.
Многим людям нравится тестировать свой код при разработке своих решений, и это означает частое выполнение ваших макросов из редактора. Ваш текущий код всегда можно запустить из меню Выполнить (Run) в VBE.
Выполните следующие действия, чтобы запустить макрос из меню Выполнить (Run) в редакторе visual Basic.
- Выберите макрос, который вы хотите запустить.
Вы можете выбрать макрос, либо поместив курсор в код, либо выбрав имя макроса из выпадающего меню в правом верхнем углу.
- Перейдите в меню Выполнить (Run).
- Выберите в меню опцию Run Sub /UserForm.
Это запустит выбранный вами макрос!
Запустите макрос VBA с панели инструментов редактора Visual Basic
Редактор Visual Basic поставляется с панелью инструментов для удобного доступа к наиболее часто используемым командам.
Выполните следующие действия, чтобы запустить макрос с панели инструментов.
- Выберите макрос, который вы хотите запустить.
- Нажмите кнопку Воспроизведения на панели инструментов.
Это запустит выбранный вами макрос!
📝 Примечание: Если вы не видите эту панель инструментов, возможно, вам потребуется включить ее. Перейти на меню Вид , а затем на панели инструментов и установите стандартный вариант.
Запустите макрос VBA из сочетания клавиш редактора Visual Basic
Существует множество очень полезных сочетаний клавиш для использования редактора visual Basic.
Запуск макроса из VBE - очень распространенная задача, поэтому неудивительно, что для этого также доступно сочетание клавиш.
Нажмите F5 клавишу, находясь в VBE, и будет запущен выбранный в данный момент макрос!
Запустите макрос VBA из другого макроса
Вы можете легко запустить макрос из макроса в Excel.
Это хорошая практика, когда дело доходит до программирования. Создание небольших процедур и последующее их повторное использование в вашем основном макросе может быть более эффективным в запуске и упростить обслуживание кода.
Sub ExampleCode()
MsgBox ("Hello world!")
End Sub
Sub MainCode()
Call ExampleCode
MsgBox ("Goodbye!")
End Sub
Вы можете легко запустить любой макрос из макроса, используя одну строку кода. В приведенном выше примере будет выполняться ExampleCode макрос из MainCode макроса.
Запустить макрос VBA из события рабочего листа
Знаете ли вы, что макрос можно запускать автоматически?
Вы можете автоматически запускать макрос на основе событий, происходящих на вашем листе Excel!
Например, вы можете запустить макрос в любое время, когда кто-то изменит значение в таблице.
Выполните эти действия, чтобы создать макрос, управляемый событиями на рабочем листе.
- Выберите лист, на котором вы хотите запустить макрос. Все листы вашей рабочей книги будут перечислены в папке объектов Microsoft Excel проектов VBE.
- Выберите параметры рабочего листа из выпадающего меню.
- Выберите тип события, которое должно запустить ваш макрос.
Private Sub Worksheet_Change(ByVal Target As Range)
End Sub
Когда вы выбираете тип события, он вставит немного кода в редактор. Например, триггер события Изменения вставит приведенный выше код.
- Поместите любой код, который вы хотите запустить при возникновении события, внутрь сгенерированного кода.
Если у вас есть существующий макрос, который вы хотите запустить, вы можете вызвать его с помощью Call YourMacroName одной строки кода.
Теперь этот макрос будет запускаться всякий раз, когда вы вносите изменения в любую ячейку на листе 1.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then Call ExampleCode
End Sub
Возможно, вы захотите ограничить запуск макроса только тем, что событие изменения происходит в определенной ячейке или диапазоне. Это возможно, установив условия для Target в вашем коде.
В приведенном выше примере ExampleCode макрос будет вызываться только при внесении изменений в ячейку A1.
Запустите макрос VBA по гиперссылке
Знаете ли вы, что макросы могут запускаться при нажатии на гиперссылку в Excel?
Этот конкретный метод события рабочего листа заслуживает отдельного упоминания!
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
If Target.Address = "B2" Then Call ExampleCode
End Sub
Приведенный выше код будет запускаться каждый раз, когда вы нажимаете на гиперссылку в ячейке B2 на листе 2.
Код будет выполнен, а затем приведет вас к адресу с гиперссылкой!
Запустить макрос VBA из события рабочей книги
Существует также возможность автоматического запуска макроса на основе событий книги, таких как открытие или закрытие файла.
Это отличный способ убедиться, что задача выполнена, прежде чем делать что-либо еще в своей книге.
Выполните эти действия, чтобы автоматически запустить макрос при открытии файла Excel.
- Выберите файл ThisWorkbook находящийся в папке редактора проектов Microsoft Excel Objects .
- Выберите Workbook из выпадающего меню.
- Выберите Open из выпадающего меню тип события.
Private Sub Workbook_Open()
End Sub
Приведенный выше код будет вставлен в редактор кода. Затем вы можете добавить любой код, который хотите запустить при открытии файла. Вы также можете вызвать любой макрос здесь с помощью Call YourMacroName одной строки кода.
Выводы
Макросы VBA можно использовать для автоматизации ваших задач в Excel, поэтому важно, чтобы вы знали, как их запускать.