Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Excel Starter 2010 Еще…Меньше
Существует несколько способов запуска макроса в Microsoft Excel. Макрос — это действие или набор действий, с помощью которых можно автоматизировать различные задачи. Макрос записывется на Visual Basic для приложений программирования. Макрос всегда можно запустить, нажав кнопку Макрос на вкладке Разработчик на ленте. В зависимости от того, как макрос назначен для запуска, его также можно запустить, нажав сочетание клавиш сочетание клавиш, нажав кнопку на панели быстрого доступа или в настраиваемой группе на ленте либо щелкнув объект, рисунок или элемент управления. Кроме того, макрос можно запускать автоматически при запуске книги.
Перед запуском макроса
Перед началом работы с макросами следует включить вкладку Разработчик.
-
Чтобы Windows, перейдите в меню Параметры > >Настроить ленту.
-
Для Macперейдите на Excel > параметры… >ленты & панели инструментов.
-
Затем в разделе Настройка ленты в разделе Основныевкладки, в разделе Разработчик, нажмите кнопку ОК.
-
Откройте книгу, содержащую нужный макрос.
-
На вкладке Разработчик в группе Код нажмите кнопку Макросы.
-
В поле Имя макроса выберите макрос, который вы хотите запустить, и нажмите кнопку Выполнить.
-
У вас также есть другие варианты:
-
Параметры: добавление сочетания клавиш или описания макроса.
-
Шаг. Откроется Visual Basic редактора в первой строке макроса. Нажатие F8 позволит вам по одной строке пролиться между кодами макроса.
-
Изменить. Откроется редактор Visual Basic и вы сможете при необходимости изменить код макроса. После внесения изменений можно нажать F5, чтобы запустить макрос из редактора.
-
Вы можете добавить сочетание клавиш в макрос при его записи, а также добавить его к существующему макросу:
-
На вкладке Разработчик в группе Код нажмите кнопку Макросы.
-
В поле Имя макроса выберите макрос, который нужно назначить сочетанием клавиш.
-
Нажмите кнопку Параметры.
Откроется диалоговое окно Параметры макроса.
-
В поле Сочетания клавиш введите любую букву в нижнем или верхнем регистре, которую вы хотите использовать с сочетаниями клавиш.
Примечания:
-
Для Windowsклавиша для букв в нижнем регистре — CTRL+letter. Для букв верхнего регистра это CTRL+SHIFT+Letter.
-
Для Macдля букв в нижнем регистре есть клавиши OPTION+COMMAND+LETTER,но клавиши CTRL+letter также будут работать. Для букв верхнего регистра это CTRL+SHIFT+Letter.
-
Будьте внимательны при назначении ярлыков, так как они будут переопределять все эквивалентные стандартные Excel, пока открыта книга с макросом. Например, если назначить макрос CTRL+Z,вы потеряете возможность отменить. В связи с этим обычно лучше использовать клавиши CTRL+SHIFT+БУКВА С верхнего регистра, например CTRL+SHIFT+Z, для которых в Excel нет эквивалентных Excel.
Список сочетаний клавиш CTRL, которые уже назначены в Excel, см. в статье Excel сочетания клавиш и клавиши для работы с функцией.
-
-
Введите описание макроса в поле Описание.
-
Нажмите кнопку ОК, чтобы сохранить изменения, а затем — кнопку Отмена, чтобы закрыть диалоговое окно Макрос.
Чтобы запустить макрос нажатием кнопки на панели быстрого доступа, сначала необходимо добавить соответствующую кнопку на панель. Для этого см. назначение макроса кнопке.
Вы можете создать пользовательскую группу, которая появится на вкладке ленты, а затем назначить макрос кнопке в этой группе. Например, можно добавить настраиваемую группу «Мои макросы» на вкладку Разработчик, а затем добавить в новую группу макрос (который отображается как кнопка). Для этого см. назначение макроса кнопке.
Запуск макроса путем щелчка области графического объекта
Вы можете создать хот-спот на графическом элементе, который пользователи могут щелкнуть, чтобы запустить макрос.
-
На компьютере вставьте графический объект, например рисунок, или нарисуйте фигуру. Распространенный сценарий — нарисовать фигуру Скруглённый прямоугольник и отформатировали ее так, чтобы она выглядела как кнопка.
Чтобы узнать о вставке графического объекта, см. добавление, изменение и удаление фигур.
-
Щелкните правой кнопкой мыши созданный хот-спот и выберите пункт Назначить макрос.
-
Выполните одно из указанных ниже действий.
-
Чтобы назначить существующий макрос графическому объекту, дважды щелкните макрос или введите его имя в поле Имя макроса.
-
Чтобы записать новый макрос для назначения выбранному графическому объекту, нажмите кнопку Запись ,в диалоговом окне Запись макроса введите имя макроса и нажмите кнопку ОК, чтобы начать запись макроса. Завершив запись макроса, нажмите кнопку Остановить
на вкладке Разработчик в группе Код.
Совет: Вы также можете нажать
в левой части панели состояния.
-
Чтобы изменить существующий макрос, щелкните его имя в поле Имя макроса и выберите изменить.
-
-
Нажмите кнопку ОК.
На вкладке Разработчик нажмите кнопку Visual Basic, чтобы запустить редактор Visual Basic(VBE). Перейдите Project проводнике, чтобы найти модуль, содержащий макрос, который вы хотите запустить, и откройте его. Все макрос в этом модуле будут перечислены в области справа. Выберите макрос, который вы хотите запустить, разместив курсор в любом месте макроса и нажимая F5или выбрав в меню пункт Выполнить > Макрос.
Создайте Workbook_Open события.
В следующем примере событие Open используется для запуска макроса при открытии книги.
-
Откройте или создайте книгу, в которую нужно добавить макрос.
-
На вкладке Разработчик в группе Код нажмите кнопку Visual Basic.
-
В окне Project проводника щелкните правой кнопкой мыши объект ThisWorkbook и выберите просмотр кода.
Совет: Если окно Project проводника не отображается, в меню Вид выберите пункт Project проводник.
-
В списке Объект над окном Код выберите книга.
При этом автоматически создается пустая процедура для события Open, например:
Private Sub Workbook_Open()
End Sub
-
Добавьте в процедуру следующие строки кода:
Private Sub Workbook_Open()Листы даты
MsgBox(«Лист1»).
Диапазон(«A1»). Value = Date
End Sub -
Переключитесь на приложение Excel и сохраните данную книгу как книгу с поддержкой макросов (.XLSM).
-
Закройте и снова откройте книгу. При повторном запуске книги Excel выполняется процедура Workbook_Open, в которой в окне сообщения отображается сегодняшняя дата.
-
В окне сообщения нажмите кнопку ОК.
Примечание: Ячейка A1 на листе «Лист1» также содержит дату в результате Workbook_Open процедуры.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
К началу страницы
См. также
Автоматический запуск макроса при открытии книги
Автоматизация задач с помощью средства записи макросов — Excel
Запись макроса для открытия определенных книг при запуске Excel
Создание и сохранение всех макросов в одной книге
Сохранение макроса
Нужна дополнительная помощь?
Если уже имеете код макроса записанный в рабочей книге или надстройке, можно его запустить и выполнить несколькими способами. Если еще нет кода макроса или вы еще не знаете, как его написать, тогда сначала прочитайте статью: Как написать макрос в Excel на языке программирования VBA.
В данной статье для Вас буде приведет пошаговый пример с картинками и фрагментом простейшего готового кода VBA.
Как выполнить макрос VBA в Excel
Например, самый простой способ запустить макрос для понимания, но сложный для реализации:
- Выберите инструмент: «РАЗРАБОТЧИК»-«Код»-«Макросы».
- В появившемся окне «Макрос» из списка всех в первую очередь доступных макросов для данной рабочей книги Excel выберите любой понравившийся вам и нажмите на кнопку «Выполнить».
Программа макроса выполнить свои функции.
Теперь мы можем двигаться от простого к еще простейшему) Ведь запускать макросы таким способом весьма неудобно. Далее рассмотрим более простые варианты.
Полезный совет! Если вы хотите отредактировать макрос тогда выберите его в списке выше описанного инструмента и нажмите на кнопку «Войти», а не используйте кнопку «Изменить». С помощью кнопки войти вы всегда сможете перейти к исходному коду выбранного макроса. Автоматически откроется редактор Visual Basic именно в том месте где написан код данного макроса. Кнопка «Изменить» к сожалению, не для всех макросов работает одинаково.
Внимание! Макросы, созданные в надстройках Excel, могут быть по умолчанию не доступны в списке диалогового окна «Макрос» в целях политики безопасности. Ведь имена макросов в надстройках Excel обычно скрыты от сторонних пользователей. Но если ввести правильно соответственное значение в поле «Имя макроса:» то все кнопки в диалоговом окне будут активными. А значит готовы к работе с данным макросом из надстройки и пользователь является автором надстройки или доверительным лицом.
Запуск макроса с помощью горячих клавиш
Для каждого макроса в Excel можно присвоить свою комбинацию горячих клавиш. Благодаря этому вы можете вызывать свою макропрограмму при нажатии определенной комбинации клавиш на клавиатуре. Что может быть ее проще?
Чтобы присвоить свою комбинацию клавиш для определенного макроса следует сделать так:
- Снова выберите инструмент: «РАЗРАБОТЧИК»-«Код»-«Макросы».
- В появившемся диалоговом окне «Макрос» выберите желаемую макропрограмму из списка и нажмите на кнопку «Параметры».
- В появившемся диалоговом окне «Параметры макроса» в поле ввода «Сочетание клавиш: CTRL+» введите маленькую или большую латинскую букву. И нажмите на кнопку ОК.
Теперь нажмите свою комбинацию горячих клавиш для вызова выбранного макроса. Как видно теперь вашему макросу присвоена комбинация горячих клавиш для быстрого вызова.
Обратите внимание! В диалоговом окне «Параметры макроса» доступно поле для ввода его описания. Данное описание будет доступно внизу при выборе макроса из списка. Рекомендуем всегда подписывать свои макросы. Такой пользовательский тон этики работы с Excel будет высоко оценен, когда список пополниться десятками макросов.
Полезный совет! Старайтесь не использовать популярные комбинации горячих клавиш для работы с Excel: CTRL+S; CTRL+A; CTRL+T; CTRL+C; CTRL+V; CTRL+SHIFT+L и т.п. Ведь тогда их предназначение будет изменено. В окне «Параметры макроса» так же присутствует возможность использовать в комбинациях клавиш клавишу SHIFT. Как только вы придадите фокус клавиатуры для поля ввода «Сочетание клавиш: CTRL+» и попытаетесь ввести большую букву для комбинации, естественно с использованием клавиши SHIFT на клавиатуре, сразу название поля ввода поменяется на «Сочетание клавиш: CTRL+ SHIFT+».
В результате будет немного длиннее комбинация, которая позволит расширить варианты, чтобы обойти часто используемые горячие клавиши.
Как запустить макрос на панели быстрого доступа
Excel позволяет пользователям запускать макросы с помощью панели быстрого доступа к инструментам. Данная панель по умолчанию находиться в самом верху окна программы.
Чтобы запустить макрос с помощью панели быстрого доступа, требуется сделать так:
- Щелкните на самую последнюю кнопку на панели быстрого доступа (стрелка вниз), чтобы получить доступ к меню «Настроить панель», в котором необходимо выбрать опцию «Другие команды». В результате чего откроется окно «Параметры Excel», к которому можно было получить доступ и другим путем: «ФАЙЛ»-«Параметры»-«Панель быстрого доступа». Или щелкнув правой кнопкой мышки по любой панели Excel на любой закладке и выбрать опцию «Настройка панели быстрого доступа».
- В левом выпадающем списке «Выбрать команду из:» выберите опцию «Макросы».
- В левом списке элементов ниже выберите необходимый макрос и нажмите на кнопку «Добавить». В результате чего в правом списке элементов появиться кнопка для нового инструмента быстрого запуска вашего макроса. Справа от правого списка элементов можно использовать стрелки для настройки положения и порядка расположения кнопок инструментов на панели быстрого доступа. И нажмите ОК.
Теперь на панели быстрого доступа появилась еще одна кнопка для. Достаточно нажать на нее и сразу же запуститься макрос.
Полезный совет! Чтобы изменить внешний вид кнопки для макроса в окне «Параметры Excel»-«Панель быстрого доступа», из правого списка элементов «Настройка панели быстрого доступа» следует выделить макрос и нажать на кнопку «Изменить». Будет предложена небольшая галерея иконок для нового оформления внешнего вида кнопки запуска макроса с панели инструментов.
Главным недостатком размещения кнопки с макросом на панели инструментов является то, что кнопка будет всегда доступна для других файлов, даже когда файл с этим макросом будет закрыт. И если в такие случаи нажать на кнопку запуска макроса, тогда откроется файл где он находиться и только потом выполниться VBA код.
Запуск макроса с помощью кнопки на рабочем листе Excel
Если вы хотите запускать макрос только из рабочей книги Excel, где он содержит свой исходный код? В такие случаи прекрасным решением будет создание кнопки на листе Excel и назначить ей запуск конкретного макроса. Для этого:
- Выберите инструмент: «РАЗРАБОТЧИК»-«Элементы управления»-«Вставить»-«Кнопка (элемент управления формы».
- Выделите курсором мышки место где и как будет вставлена кнопка для запуска макроса.
- В появившемся окне «Назначить макрос объекту» из списка доступным макросов выберите желаемый и нажмите на кнопку ОК.
- Теперь нужно назначить кнопку макросу. Правой кнопкой мышки щелкните по созданной кнопке и в появившемся контекстном меню выберите опцию «Изменить текст». Удалите старый и введите новый текст «Мой макрос».
После создания кнопки можно ее настроить, изменив ее размеры и положение на листе. Для этого снова щелкните правой кнопкой мышки по кнопке, а потом нажмите клавишу Esc на клавиатуре, чтобы скрыть контекстное меню. У кнопки появляться маркеры, с помощью которых можно изменять ее размеры. Наведите курсор мышки на любой маркер на гранях или углах кнопки и удерживая левую клавишу мышки перетягивайте, изменяя таким образом ее размеры. Теперь нажмите на кнопку левой кнопкой мышки и удерживая ее перемещайте кнопку по листу документа Excel в любое другое место. Чтобы затвердить все изменения кнопки сделайте щелчок левой кнопкой мышки в любую область листа (например, по любой ячейке) вне области кнопки.
Теперь если мы нажмем на кнопку левой кнопкой мышки сразу же выполниться назначенный ей код VBA.
Сочетание клавиш для вызова процедуры (макроса). Назначение горячих клавиш для вызова процедуры (макроса) вручную и с помощью кода VBA Excel.
Ручное назначение сочетания клавиш
Назначение горячих клавиш для вызова процедуры (макроса) вручную:
- Перейдите на вкладку «Разработчик» и нажмите кнопку «Макросы» (вторая кнопка на ленте слева) или сочетание клавиш «Alt+F8».
- В открывшемся окне «Макрос» выберите нужную процедуру и нажмите кнопку «Параметры».
- В окне «Параметры макроса» задайте сочетание клавиш, вписав нужную букву в соответствующее поле и нажав кнопку «OK».
Программное назначение горячих клавиш
За программное назначение горячих клавиш для запуска процедур (макросов) в VBA Excel отвечает метод Application.OnKey.
Обычно первой клавишей в сочетании клавиш является Shift, Ctrl или Alt, которые обозначаются следующими символами: Shift — +
(плюс), Ctrl — ^
(крышка), Alt — %
(процент).
Буквенные клавиши в коде назначения горячих клавиш обозначаются соответствующими буквами в фигурных скобках: клавиша a — {a}, клавиша b — {b}, клавиша c — {c} и т.д.
Пример назначения сочетания клавиш Ctrl+Shift+k
процедуре Module10.Test
:
Sub Primer1() Application.OnKey «^+{k}», «Module10.Test» End Sub |
После выполнения кода процедуры Primer1
процедура Module10.Test
начнет запускаться нажатием сочетания клавиш Ctrl+Shift+k
.
Если необходимо назначить сочетание клавиш какой-либо процедуре при открытии книги, используйте событие Workbook_Open
:
Private Sub Workbook_Open() Application.OnKey «^+{k}», «Module10.Test» End Sub |
Размещается данный код в модуле книги.
Если в течение рабочего дня необходимо отменить назначенное сочетание горячих клавиш, запустите процедуру с методом Application.OnKey без указания имени процедуры:
Sub Primer2() Application.OnKey «^+{k}» End Sub |
Если у заданного сочетания клавиш было какое-либо действие по умолчанию, оно будет восстановлено.
Как добавить сочетания клавиш для быстрого доступа к элементам управления пользовательской формы смотрите в статье VBA Excel. Сочетания клавиш для кнопок.
Содержание
- Что такое редактор Visual Basic в Excel?
- Открытие редактора VB
- Анатомия редактора Visual Basic в Excel
- Куда добавить код в редакторе VB
- Настройка редактора VB
Первым шагом к работе с VBA в Excel является ознакомление с редактором Visual Basic (также называемым редактором VBA или редактором VB).
В этом руководстве я расскажу все, что нужно знать о редакторе VBA, и некоторые полезные параметры, которые вы должны знать при кодировании в Excel VBA.
Редактор Visual Basic — это отдельное приложение, которое является частью Excel и открывается всякий раз, когда вы открываете книгу Excel. По умолчанию он скрыт, и для доступа к нему необходимо активировать его.
VB Editor — это место, где вы храните код VB.
Получить код в редакторе VB можно несколькими способами:
- Когда вы записываете макрос, он автоматически создает новый модуль в редакторе VB и вставляет код в этот модуль.
- Вы можете вручную ввести код VB в редакторе VB.
- Вы можете скопировать код из другой книги или из Интернета и вставить его в редактор VB.
Открытие редактора VB
Открыть редактор Visual Basic в Excel можно разными способами:
- Использование сочетания клавиш (самый простой и быстрый)
- Используя вкладку разработчика.
- Использование вкладок рабочего листа.
Давайте быстро пройдемся по каждому из них.
Сочетание клавиш для открытия редактора Visual Basic
Самый простой способ открыть редактор Visual Basic — использовать сочетание клавиш — ALT + F11 (удерживая клавишу ALT, нажмите клавишу F11).
Как только вы это сделаете, откроется отдельное окно для редактора Visual Basic.
Этот ярлык работает как переключатель, поэтому при повторном использовании он вернет вас в приложение Excel (без закрытия редактора VB).
Ярлык для версии Mac: Opt + F11 или Fn + Opt + F11
Использование вкладки разработчика
Чтобы открыть редактор Visual Basic с ленты:
- Перейдите на вкладку «Разработчик» (если вы не видите вкладку «Разработчик», прочтите, как ее получить).
- В группе «Код» щелкните Visual Basic.
Использование вкладки рабочего листа
Это менее используемый метод открытия редактора Vb.
Перейдите на любую из вкладок рабочего листа, щелкните правой кнопкой мыши и выберите «Просмотреть код».
Этот метод не просто откроет редактор VB, он также перенесет вас в окно кода для этого объекта рабочего листа.
Это полезно, когда вы хотите написать код, который работает только для определенного рабочего листа. Обычно это происходит с событиями рабочего листа.
Анатомия редактора Visual Basic в Excel
Когда вы открываете редактор VB в первый раз, это может показаться немного подавляющим.
Существуют различные варианты и разделы, которые сначала могут показаться совершенно новыми.
Кроме того, он все еще выглядит как старый Excel 97 дней. Хотя дизайн и удобство использования Excel значительно улучшились за последние годы, редактор VB не претерпел каких-либо изменений в своем внешнем виде.
В этом разделе я познакомлю вас с различными частями приложения Visual Basic Editor.
Примечание. Когда я начал использовать VBA несколько лет назад, меня поразили все эти новые параметры и окна. Но когда вы привыкнете работать с VBA, вы освоитесь с большинством из них. И в большинстве случаев вам не нужно будет использовать все возможности, а только ручную работу.
Ниже представлены изображения различных компонентов редактора VB. Затем они подробно описаны в следующих разделах этого руководства.
Теперь давайте быстро рассмотрим каждый из этих компонентов и поймем, что он делает:
Строка меню
Здесь у вас есть все параметры, которые вы можете использовать в редакторе VB. Это похоже на ленту Excel, где у вас есть вкладки и параметры для каждой вкладки.
Вы можете изучить доступные варианты, щелкнув каждый элемент меню.
Вы заметите, что рядом с большинством параметров в редакторе VB указаны сочетания клавиш. Как только вы привыкнете к нескольким сочетаниям клавиш, работа с редактором VB станет действительно простой.
Панель инструментов
По умолчанию в редакторе VB есть панель инструментов, на которой есть несколько полезных опций, которые могут вам понадобиться чаще всего. Это похоже на панель быстрого доступа в Excel. Это дает вам быстрый доступ к некоторым полезным параметрам.
Вы можете немного настроить его, удалив или добавив к нему параметры (щелкнув небольшую стрелку, направленную вниз, в конце панели инструментов).
В большинстве случаев панель инструментов по умолчанию — это все, что вам нужно при работе с редактором VB.
Вы можете переместить панель инструментов над строкой меню, щелкнув три серые точки (в начале панели инструментов) и перетащив ее над строкой меню.
Примечание. В редакторе VB есть четыре панели инструментов — Стандартная, Отладка, Редактировать и Пользовательская форма. То, что вы видите на изображении выше (которое также используется по умолчанию), является стандартной панелью инструментов. Вы можете получить доступ к другим панелям инструментов, перейдя к параметру «Просмотр» и наведя курсор на параметр «Панели инструментов». Вы можете добавить одну или несколько панелей инструментов в редактор VB, если хотите.
Обозреватель проекта
Обозреватель проекта — это окно слева, в котором отображаются все объекты, открытые в настоящее время в Excel.
Когда вы работаете с Excel, каждая открытая книга или надстройка является проектом. И в каждом из этих проектов может быть набор объектов.
Например, на изображении ниже в Project Explorer показаны две открытые книги (Book1 и Book2) и объекты в каждой книге (рабочие листы, ThisWorkbook и Module в Book1).
Слева от объектов есть значок плюса, который можно использовать, чтобы свернуть список объектов или развернуть и просмотреть полный список объектов.
Следующие объекты могут быть частью Project Explorer:
- Все открытые книги — в каждой книге (которая также называется проектом) вы можете иметь следующие объекты:
- Объект рабочего листа для каждого листа в книге
- ThisWorkbook объект который представляет собой книгу
- Таблица объект для каждого листа диаграммы (они не так распространены, как рабочие листы)
- Модули — Здесь идет код, созданный с помощью средства записи макросов. Вы также можете написать или скопировать код VBA сюда.
- Все открытые надстройки
Рассматривайте Project Explorer как место, где отображаются все объекты, открытые в Excel в данный момент.
Сочетание клавиш для открытия Project Explorer: Ctrl + R (удерживайте контрольную клавишу, а затем нажмите R). Чтобы закрыть его, просто щелкните значок закрытия в правом верхнем углу окна Project Explorer.
Примечание. Для каждого объекта в Project Explorer есть окно кода, в котором вы можете написать код (или скопировать и вставить его откуда-нибудь). Окно кода появляется при двойном щелчке по объекту.
Окно свойств
Окно свойств — это то место, где вы можете увидеть свойства выбранного объекта. Если у вас еще нет окна «Свойства», вы можете получить его с помощью сочетания клавиш F4 (или перейдите на вкладку «Просмотр» и нажмите «Окно свойств»).
Окно свойств — это плавающее окно, которое можно закрепить в редакторе VB. В приведенном ниже примере я закрепил его чуть ниже Project Explorer.
Окно свойств позволяет нам изменять свойства выбранного объекта. Например, если я хочу сделать рабочий лист скрытым (или очень скрытым), я могу сделать это, изменив свойство Visible для выбранного объекта рабочего листа.
Связанный: Скрытие рабочего листа в Excel (который не может быть легко отсканирован)
Окно кода
Для каждого объекта, перечисленного в Project Explorer, есть окно кода. Вы можете открыть окно кода для объекта, дважды щелкнув его в области Project Explorer.
Окно кода — это то место, где вы будете писать свой код или копировать и вставлять код из другого места.
Когда вы записываете макрос, его код попадает в окно кода модуля. Excel автоматически вставляет модуль для размещения в нем кода при записи макроса.
Связанный: Как запустить макрос (код VBA) в Excel.
Немедленное окно
Окно Immediate в основном используется при отладке кода. Один из способов использования окна Immediate — использование оператора Print.Debug в коде с последующим запуском кода.
Это помогает мне отлаживать код и определять, где мой код застревает. Если я получаю результат Print.Debug в непосредственном окне, я знаю, что код работал, по крайней мере, до этой строки.
Если вы новичок в кодировании VBA, вам может потребоваться некоторое время, чтобы использовать немедленное окно для отладки.
По умолчанию непосредственное окно не отображается в редакторе VB. Вы можете получить его, используя сочетание клавиш Control + G (или можете перейти на вкладку «Просмотр» и нажать «Немедленное окно»).
Куда добавить код в редакторе VB
Я надеюсь, что теперь у вас есть общее представление о том, что такое VB Editor и какие в нем части.
В этом разделе этого руководства я покажу вам, где добавить код VBA в редактор Visual Basic.
Есть два места, где вы можете добавить код VBA в Excel:
- Окно кода для объекта. Этими объектами могут быть рабочая книга, рабочий лист, пользовательская форма и т. Д.
- Окно кода модуля.
Окно кода модуля против окна кода объекта
Позвольте мне сначала быстро пояснить разницу между добавлением кода в модуль и добавлением кода в окне объектного кода.
Когда вы добавляете код к любому из объектов, он зависит от какого-либо действия этого объекта, которое запускает этот код. Например, если вы хотите отобразить все рабочие листы в книге, как только вы откроете эту книгу, тогда код будет помещен в объект ThisWorkbook (который представляет книгу).
В данном случае триггер открывает книгу.
Точно так же, если вы хотите защитить рабочий лист, как только активируется какой-либо другой рабочий лист, код для этого будет помещен в окно кода рабочего листа.
Эти триггеры называются событиями, и вы можете связать код, который будет выполняться при возникновении события.
Связанный: Узнайте больше о событиях в VBA.
Напротив, код в модуле должен выполняться вручную (или его также можно вызывать из других подпрограмм).
Когда вы записываете макрос, Excel автоматически создает модуль и вставляет в него записанный код макроса. Теперь, если вам нужно запустить этот код, вам нужно вручную выполнить макрос.
Добавление кода VBA в модуль
При записи макроса автоматически создается модуль и вставляется в него код, однако при использовании средства записи макросов существуют некоторые ограничения. Например, он не может использовать циклы или условия If Then Else.
В таких случаях лучше либо скопировать и вставить код вручную, либо написать код самостоятельно.
Модуль может использоваться для хранения следующих типов кодов VBA:
- Декларации: Вы можете объявлять переменные в модуле. Объявление переменных позволяет указать, какой тип данных может содержать переменная. Вы можете объявить переменную только для подпрограммы или для всех подпрограмм в модуле (или всех модулях)
- Подпрограммы (процедуры): Это код, в котором есть шаги, которые вы хотите выполнить с помощью VBA.
- Функциональные процедуры: Это код, который возвращает одно значение, и вы можете использовать его для создания пользовательских функций (также называемых пользовательскими функциями или UDF в VBA).
По умолчанию модуль не является частью книги. Вам необходимо вставить его перед использованием.
Добавление модуля в редактор VB
Ниже приведены шаги по добавлению модуля:
- Щелкните правой кнопкой мыши любой объект книги (в котором вы хотите установить модуль).
- Наведите курсор на опцию Вставить.
- Щелкните по модулю.
Это мгновенно создаст папку с именем Module и вставит объект с именем Module 1. Если у вас уже есть вставленный модуль, вышеупомянутые шаги будут вставлять другой модуль.
После того, как модуль вставлен, вы можете дважды щелкнуть объект модуля в Project Explorer, и он откроет для него окно кода.
Теперь вы можете скопировать и вставить код или написать его самостоятельно.
Удаление модуля
Ниже приведены шаги по удалению модуля в Excel VBA:
- Щелкните правой кнопкой мыши модуль, который хотите удалить.
- Нажмите на опцию «Удалить модуль».
- В открывшемся диалоговом окне нажмите Нет.
Примечание. Вы можете экспортировать модуль перед его удалением. Он сохраняется как файл .bas, и вы можете импортировать его в другой проект. Чтобы экспортировать модуль, щелкните модуль правой кнопкой мыши и выберите «Экспорт файла».
Добавление кода в окно объектного кода
Чтобы открыть окно кода для объекта, просто дважды щелкните по нему.
Когда он откроется, вы можете ввести код вручную или скопировать и вставить код из других модулей или из Интернета.
Обратите внимание, что некоторые объекты позволяют выбрать событие, для которого вы хотите написать код.
Например, если вы хотите написать код, чтобы что-то происходило при изменении выбора на листе, вам нужно сначала выбрать листы из раскрывающегося списка в верхнем левом углу окна кода, а затем выбрать событие изменения из раскрывающегося списка. -вниз справа.
Примечание: эти события относятся к объекту. Когда вы откроете окно кода для книги, вы увидите события, связанные с объектом книги. Когда вы откроете окно кода для рабочего листа, вы увидите события, связанные с объектом рабочего листа.
Настройка редактора VB
Хотя настройки редактора Visual Basic по умолчанию достаточно хороши для большинства пользователей, они позволяют дополнительно настраивать интерфейс и некоторые функции.
В этом разделе руководства я покажу вам все параметры, которые у вас есть при настройке редактора VB.
Чтобы настроить среду редактора VB, нажмите «Инструменты» в строке меню, а затем нажмите «Параметры».
Это откроет диалоговое окно Параметры, которое предоставит вам все параметры настройки в редакторе VB. В диалоговом окне «Параметры» есть четыре вкладки (как показано ниже), на которых можно настроить различные параметры редактора Visual Basic.
Давайте быстро рассмотрим каждую из этих вкладок и важные параметры на каждой из них.
Вкладка «Редактор»
Хотя встроенные настройки в большинстве случаев работают нормально, позвольте мне все же пройтись по параметрам на этой вкладке.
По мере того, как вы станете более опытным в работе с VBA в Excel, вы можете настроить редактор VB, используя некоторые из этих параметров.
Автоматическая проверка синтаксиса
При работе с VBA в Excel, как только вы сделаете синтаксическую ошибку, вас встретит всплывающее диалоговое окно (с некоторым описанием ошибки). Что-то вроде того, что показано ниже:
Если вы отключите эту опцию, это всплывающее окно не появится, даже если вы допустили синтаксическую ошибку. Однако цвет текста кода изменится, что укажет на наличие ошибки.
Если вы новичок, я рекомендую оставить эту опцию включенной. По мере того, как вы набираетесь опыта в программировании, вы можете начать находить эти всплывающие окна раздражающими, и тогда вы можете отключить эту опцию.
Требовать объявление переменной
Это один из вариантов, который я рекомендую включить.
Когда вы работаете с VBA, вы будете использовать переменные для хранения различных типов данных и объектов.
Когда вы включаете этот параметр, он автоматически вставляет оператор «Option Explicit» в верхнюю часть окна кода. Это заставляет вас объявить все переменные, которые вы используете в своем коде. Если вы не объявите переменную и попытаетесь выполнить код, отобразится ошибка (как показано ниже).
В приведенном выше случае я использовал переменную Var, но не объявлял ее. Поэтому, когда я пытаюсь запустить код, он показывает ошибку.
Эта опция очень полезна, когда у вас много переменных. Это часто помогает мне найти имена переменных с ошибками, поскольку они считаются необъявленными и отображается ошибка.
Примечание. Когда вы включаете этот параметр, он не влияет на существующие модули.
Автоматический член списка
Эта опция весьма полезна, поскольку помогает получить список свойств методов для объекта.
Например, если я хочу удалить лист (Sheet1), мне нужно использовать строку Sheet1.Delete.
Пока я набираю код, как только я набираю точку, он покажет мне все методы и свойства, связанные с объектом Worksheet (как показано ниже).
Функция автоматического списка хороша тем, что позволяет:
- Быстро выберите свойство и метод из списка и сэкономьте время
- Показывает все свойства и методы, о которых вы, возможно, не знали.
- Избегайте орфографических ошибок
Эта опция включена по умолчанию, и я рекомендую оставить ее в таком состоянии.
Параметры автоматической быстрой информации
Когда вы вводите функцию на листе Excel, она показывает вам некоторую информацию о функции, например, аргументы, которые она принимает.
Точно так же, когда вы вводите функцию в VBA, она показывает вам некоторую информацию (как показано ниже). Но для этого вам нужно убедиться, что опция Auto Quick Info включена (что по умолчанию).
Параметры советов по автоматическим данным
Когда вы просматриваете свой код построчно и помещаете курсор над именем переменной, он покажет вам значение переменной.
Я считаю это весьма полезным при отладке кода или при просмотре кода построчно, в котором есть циклы.
В приведенном выше примере, как только я наведу курсор на переменную (var), отобразится значение, которое она содержит.
Этот параметр включен по умолчанию, и я рекомендую вам оставить его в таком же состоянии.
Автоматический отступ
Поскольку коды VBA могут быть длинными и беспорядочными, использование отступов увеличивает читаемость кода.
При написании кода вы можете делать отступ с помощью клавиши табуляции.
Этот параметр гарантирует, что, когда вы закончите с отступом и нажмете Enter, следующая строка не начнется с самого начала, а будет иметь тот же отступ, что и предыдущая.
В приведенном выше примере после того, как я напишу строку Debug.Print и нажму Enter, она начнется прямо под ней (с тем же уровнем отступа).
Я считаю эту опцию полезной, и ее выключение означало бы вручную отступ каждой строки в блоке кода, который я хочу иметь отступ.
При желании вы можете изменить значение отступа. Я сохраняю значение по умолчанию.
Редактирование текста перетаскиванием
Когда этот параметр включен, он позволяет выбрать блок кода и перетащить его.
Это экономит время, так как вам не нужно сначала вырезать, а потом вставлять. Вы можете просто выбрать и перетащить его.
Этот параметр включен по умолчанию, и я рекомендую вам оставить его в таком же состоянии.
По умолчанию — полный вид модуля
Когда эта опция включена, вы сможете увидеть все процедуры в модуле в одном прокручиваемом списке.
Если вы отключите эту опцию, вы сможете видеть только один модуль за раз. Вам нужно будет выбрать модуль, который вы хотите увидеть, из раскрывающегося списка в правом верхнем углу окна кода.
Этот параметр включен по умолчанию, и я рекомендую оставить его в таком же состоянии.
Одна из причин, по которой вы можете захотеть отключить его, когда у вас есть несколько процедур, которые огромны и прокрутка по ним требует времени, или когда у вас много процедур, и вы хотите быстро найти их, а не тратить время на прокрутку.
Разделитель процедур
Когда эта опция включена, вы увидите линию (своего рода разделитель) между двумя процедурами.
Я считаю это полезным, поскольку он визуально показывает, когда заканчивается одна процедура и начинается другая.
Он включен по умолчанию, и я рекомендую оставить его в таком состоянии.
Вкладка «Формат редактора»
С помощью параметров на вкладке «Формат редактора» вы можете настроить внешний вид кода в окне кода.
Лично я сохраняю все параметры по умолчанию, так как меня это устраивает. Если вы хотите, вы можете настроить это в зависимости от ваших предпочтений.
Чтобы внести изменения, вам нужно сначала выбрать параметр в поле «Цвета кода». После выбора параметра вы можете изменить для него цвет переднего плана, фона и индикатора.
На этой вкладке также можно установить тип и размер шрифта. Рекомендуется использовать шрифт фиксированной ширины, например Courier New, так как он делает код более читабельным.
Обратите внимание, что настройки типа и размера шрифта останутся одинаковыми для всех типов кода (т. Е. Для всех типов кода, показанных в поле цвета кода).
Ниже приведено изображение, на котором я выбрал точку останова и могу изменить ее форматирование.
Примечание. Параметр «Полоса индикатора полей», когда он включен, показывает небольшую полоску полей слева от кода. Это полезно, так как показывает полезные индикаторы при выполнении кода. В приведенном выше примере, когда вы устанавливаете точку останова, она автоматически показывает красную точку слева от строки на полосе полей. В качестве альтернативы, чтобы установить точку останова, вы можете просто щелкнуть полосу полей слева от строки кода, которую вы хотите использовать в качестве точки останова.
По умолчанию полоса индикатора маржи включена, и я рекомендую оставить ее в таком состоянии.
Одна из моих студенток курса VBA нашла эти параметры настройки полезными, и она была дальтоник. Используя параметры здесь, она смогла установить цвет и форматы, которые упростили ей работу с VBA.
Вкладка Общие
На вкладке «Общие» есть много параметров, но изменять их не нужно.
Я рекомендую вам оставить все параметры как есть.
Одна из важных опций, о которых следует знать на этой вкладке, — это обработка ошибок.
По умолчанию выбран параметр «Прерывание по необработанным ошибкам», и я рекомендую оставить его таким же.
Этот параметр означает, что если ваш код обнаружит ошибку, и вы еще не обработали эту ошибку в своем коде, он сломается и остановится. Но если вы устранили ошибку (например, с помощью параметров «При ошибке возобновить следующий» или «При ошибке Перейти к»), то она не сломается (поскольку ошибки не обрабатываются).
Вкладка стыковки
На этой вкладке вы можете указать, какие окна вы хотите закрепить.
Закрепление означает, что вы можете зафиксировать положение окна (например, проводника проекта или окна свойств), чтобы оно не перемещалось, и вы могли просматривать все различные окна одновременно.
Если вы не установите док-станцию, вы сможете просматривать одно окно за раз в полноэкранном режиме, и вам придется переключаться на другое.
Я рекомендую оставить настройки по умолчанию.
Если вы часто пользуетесь макросами в MS Excel, то уверен, у вас не раз возникал вопрос: «Как быстро запустить написанный макрос?». Можно привязать горячую клавишу, например. Так же мы расскажем, как сделать так, чтобы макрос был доступен из любого файла Excel и можно было сделать быстрый запуск макроса в Excel.
Если вы не знаете о чем идет речь, то советую прочитать специальную статью. Если коротко, макрос — это список действий, записанных при помощи «языка» VBA. Очень удобно записать такую последовательность, если вы часто выполняете одни и те же операции (их можно записать специальным инструментом — макрорекордером). Макрос будет выполнять их при нажатии одной кнопки.
Содержание
- Где посмотреть полившийся макрос и запустить его?
- Запуск макроса в Excel. Горячие клавиши
- Автозапуск макроса при открытии книги
- Дополнительные возможности запуска макроса при действии с книгой
- Дополнительные возможности запуска макроса при действии с листом
- Похожие статьи
Где посмотреть полившийся макрос и запустить его?
Самый удобный способ работы с макросами и связанными инструментами — вывести вкладку Разработчик на панель инструментов
Включается он несложно — заходим в левую, верхнюю кнопку Параметры Excel — раздел Основные — в правом окне ставим галочку Показывать вкладку Разработчик на ленте
Как мы видим, здесь большой выбор инструментов, от возможности зайти в Visual Basic до вставки объекта, например, кнопки.
Запуск макроса можно осуществить нажатием второй кнопки слева Макросы.
Появится окно для выбора макроса
Выбираем нужный — жмем выполнить.
Запуск макроса в Excel. Горячие клавиши
Открытие окна выбора макроса можно осуществить через горячую клавишу Alt + F8. А зайти в окно редактирования макроса сочетанием Alt + F11.
Причем если в окне выбора выделить нужный макрос и нажать Параметры, то к макросу можно привязать сочетание клавиш.
В данным случае ctrl + Ё.
Автозапуск макроса при открытии книги
Зайдите в окно редактирования макроса Alt + F11 или нажмите кнопку Просмотр кода на панели Разработчик.
У вас откроется VBA. Ваш макрос (особенно записанный макрорекордером) будет храниться в отдельном отделе модулей в левой панели.
Для того, чтобы макрос запускался при открытии книги, его надо перенести в раздел эта книга.
Копируйте тело макроса из правого окна (между Sub и End Sub)
Выберите в левой панели ЭтаКнига (двойным левым кликом).
В верхних панелях выбираем Workbook и признак включения макроса Open (открытие книги получается).
Копированный текст макроса из модуля вставляем между Private Sub и End Sub. Сохраняем. Закрываем VBA.
Готово! Запуск макроса будет происходить при открытии книги.
Не забудьте сохранить книгу с поддержкой макросов (xlsm или xlsb).
Дополнительные возможности запуска макроса при действии с книгой
Как вы могли увидеть при выборе Workbook в правом окне выбора доступно множество вариантов. Ниже команды, которые запускают макрос при действии с книгой:
- Activate — при активации книги (при переходе из другого окна в эту книгу);
- Deactivate — при переходе в другую книгу;
- BeforeClose — перед закрытием книги;
- BeforePrint — перед печатью книги;
- BeforeSave — при сохранении книги;
- NewSheet — при создании нового листа книги.
Дополнительные возможности запуска макроса при действии с листом
По аналогии с предыдущим пунктом, такие же действия можно привязать к определенному листу. Ниже команды, которые запускают макрос при действии с листом:
- SheetActivate — при активации листа книги;
- SheetDeactivate — при переходе на другой лист книги;
- SheetCalculate — при пересчете формул на листе;
- SheetBeforeDoubleClick — перед двойным кликом мыши;
- SheetBeforeRightClick — перед кликом правой кнопкой мыши;
- SheetChange — при изменение на листе
Если необходимо запустить макрос при изменении в ячейке — подробная инструкция есть в этой статье.
Готов ответить на вопросы в комментариях!