Запуск макроса
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 (VBE)
На вкладке Разработчик нажмите кнопку Visual Basic, чтобы запустить редактор Visual Basic(VBE). Перейдите Project проводнике, чтобы найти модуль, содержащий макрос, который вы хотите запустить, и откройте его. Все макрос в этом модуле будут перечислены в области справа. Выберите макрос, который вы хотите запустить, разместив курсор в любом месте макроса и нажимая F5или выбрав в меню пункт Выполнить > Макрос.
Настройка автоматического запуска макроса при открытии книги
Создайте Workbook_Open события.
В следующем примере событие Open используется для запуска макроса при открытии книги.
- Откройте или создайте книгу, в которую нужно добавить макрос.
- На вкладке Разработчик в группе Код нажмите кнопку Visual Basic.
- В окне Project проводника щелкните правой кнопкой мыши объект ThisWorkbook и выберите просмотр кода.
Совет: Если окно Project проводника не отображается, в меню Вид выберите пункт Project проводник.
Private Sub Workbook_Open()
Примечание: Ячейка A1 на листе «Лист1» также содержит дату в результате Workbook_Open процедуры.
Дополнительные сведения
Вы всегда можете задать вопрос эксперту в Excel Tech Community или получить поддержку в сообществах.
См. также

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




В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.
Введение в язык VBA Как запустить макрос: меню и командная строка
Предположим, что макрос уже создан (в макрорекордере, как мы уже умеем, или средствами редактора Visual Basic, который нам предстоит освоить) и вы хотите или выполнить его один раз или настроить себе возможность вызывать его постоянно. В нашем распоряжении — множество разных способов.
Самый простой, но и самый неудобный способ — воспользоваться окном Макрос, которое можно открыть при помощи меню Сервис -> Макрос -> Макросы (см. рис. 1.1).
Рис. 1.1 Диалоговое окно Макросы
Из этого окна можно:
Выполнить — запустить макрос на выполнение;
Войти — открыть макрос в редакторе Visual Basic начать его пошаговое выполнение;
Изменить — просто открыть макрос в редакторе Visual Basic;
Создать — необходимо будет ввести имя создаваемого макроса и в редакторе Visual Basic будет автоматически создана процедура с определенным вами именем;
Удалить;
Параметры — поменять описание и назначенное сочетание клавиш.
Каждый раз открывать это окно, находить нужный макрос (а их вполне может быть, например, несколько десятков) и нажимать на кнопку Выполнить» — не самый быстрый вариант. Вряд ли он очень понравится вашим пользователям, да и вам самим работать так будет неудобно. Поэтому в вашем распоряжении несколько более удобных вариантов.
Если вы пользуетесь макросом постоянно, то можно использовать самый быстрый способ его вызова — клавиатурную комбинацию. Например, сейчас, когда я пишу эту книгу, я «положил» на клавиатурные комбинации простенькие макросы, которые вводят нужный мне текст. Если мне нужно набрать «Visual Basic», я набираю < Alt>+< V>, если Microsoft Office — < Alt>+ < M>и т.п. На клавиши (правда, уже без макросов) у меня разложены и все стили — заголовки, маркированные списки и т.п. Очень удобно!
На работе клавиатурным комбинациям, к примеру, ввод информации о ответственном исполнителе, о руководителе, которому пойдет документ на подпись, о полном названии вашей организации и т.п. Главное — чтобы вы использовали их постоянно, иначе вы просто забудете, какое сочетание клавиш за что отвечает.
Назначить сочетание клавиш макросу можно очень просто.
В Word это выглядит так: в меню Сервис выбираем Настройка и переходим на вкладку Команды. Затем нажимаем на кнопку Клавиатура: откроется окно Настройка клавиатуры (см. рис. 1.2)
Рис. 1.2 Окно настройки клавиатурных комбинаций
В списке Категории нужно выбрать Макросы, в списке Команды — нужный макрос, установить указатель ввода в поле Новое сочетание клавиш и нажать требуемое нам сочетание клавиш. Помимо обычных сочетаний типа +, + и т.п., можно использовать и более сложные. Например, вы используете два вида списков — маркированные и нумерованные. Для каждого из макросов, которые применяют данный тип списков, можно назначить клавиатурную комбинацию вида +, или +,. Это значит, что если вы вначале нажмете вместе клавиши < Alt+ L>, а затем , то данный макрос (предположим, что это — применение маркированного списка) будет выполнен. Вводить такое сочетание клавиш в поле Новое сочетание клавиш нужно точно так же, как вы будете его применять.
После того, как нужное сочетание клавиш будет введено, нужно нажать на кнопку Назначить, а затем — Закрыть.
Внимание! Следите за надписью Текущее назначение в этом диалоговом окне. Вполне возможно, что выбранному вами сочетанию клавиш уже назначен другой макрос или встроенная команда. Если вы проигнорируете это сообщение, то вы переназначите эту комбинацию вашему макросу. Но если пользователь уже привык использовать эту комбинацию для других целей (< Ctrl>+< S>, < Ctrl>+< N>) и т.п., он может быть очень недоволен.
В Excel кнопки Клавиатура в окне Настройка (меню Сервис -> Настройка) вы не найдете. Там придется назначать клавиатурные комбинации по другому: в меню Сервис выбрать Макрос -> Макросы, выбрать нужный макрос в списке и нажать на кнопку Параметры. Откроется окно Параметры макроса (см. рис. 1.3), в котором вы сможете выбрать нужную клавиатурную комбинацию (только в сочетании с клавишей ) и ввести описание макроса. На практике любое сочетание клавиш можно назначить макросу и в Excel, но простыми способами это сделать нельзя — придется писать программный код, в котором будут перехватываться события приложения.
Рис. 1.3 Диалоговое окно Параметры макроса
Как мы уже говорили, на клавиатурные комбинации есть смысл назначать только те макросы, которыми вы пользуетесь каждый день. А как же быть с полезными макросами, которые активно используются, к примеру, в отчетный период, а потом опять ждут своего часа целый месяц? Подавляющее большинство пользователей за этот месяц забудет все назначенные клавиши и потеряет те бумажки, на которых вы им эти клавиатурные комбинации записали. Да и сам разработчик (у меня это случается регулярно) вполне может забыть, что именно нужно нажимать для запуска макроса.
Лучший выход в такой ситуации — назначить макрос пункту меню или кнопке на панели управления. Пожалуй, назначение пункту меню даже лучше — больше возможностей упорядочить макросы и есть возможность использовать понятные названия. Однако нажимать на кнопки на панели инструментов быстрее — так что выбирайте сами, что вам больше нравится. Создание и настройка новой панели инструментов для вызова макросов в Word может выглядеть так:
- В меню Сервис выбираем Настройка и переходим на вкладку Панелиинструментов.
- Нажимаем на кнопку Создать и вводим название панели (например, Макросы) и выбираем тот документ, в котором она будет создана. Если мы выберем normal.dot, то меню будет доступно для всех документов Word на этом компьютере (что чаще всего и надо). Другой вариант — создать панель управления в том же документе Word, который у вас открыт. В этом случае меню будет доступно только из этого файла.
После того, как мы нажмем на кнопку OK и Закрыть, у нас будет создано новое пустое меню (которое будет находится где-нибудь прямо поверх документа). Чтобы было удобней, нужно перетащить его к стандартным панелям инструментов, а потом вновь воспользоваться командой главного меню Сервис -> Настройка. В нем нужно перейти на вкладку Команды, в списке Категории выбрать Макросы и просто перетащить на панель инструментов нужные макросы из списка Команды. Если на панель инструментов нужно поместить не один, а несколько макросов, то, возможно, удобнее будет нажать на кнопку Упорядочить команды и воспользоваться очень удобным диалоговым окном (см. рис. 1.4):
Рис. 1.4 Диалоговое окно Изменение порядка команд
Мы добавили нужные кнопки на панели инструментов, но пока они выглядят не очень интересно (например, Normal. NewMacros. Recordset). Вряд ли такое название что-то скажет пользователю. Поэтому следующее действие — настройка кнопок. Для при открытом окне Настройка (это условие обязательно!) просто щелкаем правой кнопкой мыши по кнопке на панели инструментов, которую нам надо настроить. Откроется специальное контекстное меню (см. рис. 1.5).

Рис. 1.5 Контекстное меню для настройки кнопки на панели инструментов
Что можно сделать из этого меню:
Удалить — просто удалить кнопку (для этого же можно просто перетащить ее обратно прямо на окно Настройка).
Имя — возможность ввести имя, то есть надпись на кнопке или пункте меню. Для меню использование надписи удобно, для кнопки на панели инструментов — не очень, поскольку занимает очень много места.
Копировать значок на кнопке и Вставить значок для кнопки — возможность воспользоваться понравившимся вам значком с другой кнопки;
Изменить значок на кнопке — откроется скромный редактор, в котором вы сможете сами нарисовать нужный значок.
Выбрать значок для кнопки — выбрать один из 42 стандартных значков. На самом деле только в Word значков, которые можно использовать — несколько тысяч. Мы поговорим о том, как их выбирать, в главе, посвященной программному созданию панелей инструментов и меню.
Основной стиль — под этой загадочной надписью скрывается то, что нам обычно и нужно — чтобы кнопка была представлена только рисунком, безо всяких надписей.
Только текст (всегда), Только текст (меню), Значок и текст — определяют, что именно из набора надпись/рисунок будет показано на кнопке. Наиболее часто используемый вариант, конечно — Основной стиль.
Начать группу — про эту возможность мы поговорим подробнее в главе про создание панелей инструментов управления и меню программным способом;
Назначить гиперссылку — комментариев, видимо, не требует.
Конечно же, мы могли обойтись и без создания своей панели управления, просто добавив наши кнопки в существующие панели (точно таким же перетаскиванием). Точно так же мы можем преобразовать стандартные панели инструментов. Однако не забывайте, что все эти преобразования доступны только при открытом диалоговом окне Настройка.
Создание меню производится немного по другому:
- Нужно открыть то же диалоговое окно Настройка (меню Сервис ->Настройка).
В списке Категории выбрать Новоеменю.
Перетащить команду Новоеменю из списка Команды того же окошка в нужное место основного меню (см. рис. 1.6).
Рис. 1.6 Диалоговое окно Настройка
Далее точно так же при открытом окне Настройка щелкаем правой кнопкой мыши по созданному нами пункту меню и переименовываем его (в нашем примере мы назовем его Макросы.
Далее нужно нажать на кнопку Упорядочить команды. В открывшемся диалоговом окне Изменение порядка команд (см. рис. 1.7) нужно в списке Строка меню выбрать Макросы и добавить в него нужные элементы (то есть созданные вами макросы). Переименовать их можно при помощи кнопки Изменить выделенный объект прямо из этого окна.
Рис. 1.7 Окно Изменение порядка команд
В результате у нас может получиться очень милое меню, в котором пользователю запутаться будет трудно (см. рис. 1.8).

Рис. 1.8 Меню для запуска макросов
В Excel все очень похоже, но чуть-чуть по другому. Если в Excel мы откроем окно настройка (меню Сервис -> Настройка) и в списке Категории выберем Макросы, то вместо списка макросов в списке Команды будет две возможности: Настраиваемая команда меню и Настраиваемая кнопка (см. рис. 1.9).
Рис. 1.9 Создание кнопки для запуска макроса в Excel
Настраиваемая кнопка — это готовая кнопка, которую можно перетащить на панель инструментов, а потом открыть для нее контекстное меню и воспользоваться командой Назначить макрос. Конечно же, для выбора иконки, формата отображения и т.п. можно воспользоваться и другими возможностями контекстного меню, которые доступны и в Word.
Для создания нового меню в Excel нужно точно так же создать новое меню, как в Word, а потом нажать на кнопку упорядочить команды и добавить в этом меню несколько элементов Настраиваемая команда меню. Их реальная настройка (в том числе и назначение макросов) производится по нажатию на кнопку Изменить выделенный объект.
В подавляющем большинстве остальных приложений Office ( PowerPoint, Project, Outlook и т.п.) работа с макросами производится так же, как и в Word.
Есть еще один способ предоставить пользователю возможность запускать макросы — самый функциональный, но и самый трудоемкий: создать специальную графическую форму, на которую можно поместить, например, ниспадающий список макросов. При применении этого способа можно предусмотреть дополнительные элементы управления для ввода параметров, которые макросы смогут «подхватывать» во время выполнения (напрямую параметры макросам передаваться не могут, поскольку макрос — это процедура, не принимающая параметров). Однако применение этого способа потребует написания программного кода. Как работать с формами и элементами управления на них — будет рассказано в главе 5 этой книги. После этого создание такой формы не составит никакого труда.
Есть еще одна специальная возможность для запуска макросов: сделать так, чтобы они запускались при возникновении специального события. Таким событием может стать, например, внесение изменений на лист Excel, открытие книги Excel или документа Word и т.п. Подробнее про работу с событиями будет рассказано в соответствующей главе. Однако можно обеспечить автоматический запуск макроса и без программирования: достаточно просто назначить ему специальное имя. Например, для Word список таких специальных названий представлен в Табл. 1.1.
Табл. 1.1 Специальные названия макросов для Word
При запуске Word (этот макрос должен храниться в normal.dot)
Запуск макроса по времени
Весьма частый случай на практике: вам нужно запускать один или несколько ваших макросов в заданное время или с определенной периодичностью. Например, у вас есть большой и тяжелый отчет, который обновляется полчаса и вы хотели бы запускать обновление за полчаса до вашего прихода на работу утром. Или у вас есть макрос, который должен делать автоматическую рассылку сотрудникам с заданной периодичностью. Или, работая со сводной таблицей, вы хотите, чтобы она обновлялась «на лету» каждые 10 секунд и т.д. Давайте разберемся с тем, какие в Excel и Windows есть возможности для реализации подобного.
Запуск макроса с заданной частотой
Для этого проще всего использовать встроенный в VBA метод Application.OnTime, который запускает заданный макрос в указанный момент времени. Давайте разберемся с этим на практическом примере.
Откройте редактор Visual Basic одноименной кнопкой на вкладке Разработчик (Developer) или сочетанием клавиш Alt + F11 , вставьте новый модуль через меню Insert — Module и скопируйте туда следующий код:
Dim TimeToRun 'глобальная переменная, где хранится следующее время запуска 'это главный макрос Sub MyMacro() Application.Calculate 'пересчитываем книгу Range("A1").Interior.ColorIndex = Int(Rnd() * 56) 'заливаем ячейку А1 случайным цветом :) Call NextRun 'запускаем макрос NextRun для назначения след.времени запуска End Sub 'этот макрос назначает время следующего запуска главного макроса Sub NextRun() TimeToRun = Now + TimeValue("00:00:03") 'прибавляем к текущему времени 3 сек Application.OnTime TimeToRun, "MyMacro" 'назначаем следующий запуск End Sub 'макрос для запуска последовательности повторений Sub Start() Call NextRun End Sub 'макрос для остановки последовательности повторений Sub Finish() Application.OnTime TimeToRun, "MyMacro", , False End Sub

Давайте разберемся что здесь что.
Для начала, нам нужна переменная, где будет храниться время следующего запуска нашего макроса — я назвал её TimeToRun. Обратите внимание, что содержимое этой переменной должно быть доступно всем нашим последующим макросам, поэтому её надо сделать глобальной, т.е. объявить в самом начале модуля до первого Sub. Дальше идет наш главный макрос MyMacro, который будет выполнять основную задачу — пересчитывать книгу с помощью метода Application.Calculate. Чтобы было нагляднее, я добавил на лист в ячейку А1 формулу =ТДАТА(), которая выводит дату и время — при пересчете её содержимое будет обновляться прямо у нас на глазах (только включите отображение секунд в формате ячейки). Для дополнительного веселья я добавил в макрос еще и команду заливки ячейки А1 случайно выбранным цветом (код цвета — это целое числов в диапазоне 0..56, которое генерит функция Rnd и округляет до целого числа функция Int).
Макрос NextRun добавляет к предыдущему значению TimeToRun еще 3 секунды и затем назначает следующий запуск главного макроса MyMacro на это новое время. Само-собой, на практике можно использовать любые другие нужные вам временные интервалы, задавая аргументы функции TimeValue в формате «чч:мм:сс». Ну и, наконец, просто для удобства добавлены еще макросы запуска последовательности Start и её завершения Finish. В последнем из них для прерывания последовательности используется четвёртый аргумент метода OnTime равный False.
Итого, если запустить макрос Start, то вся эта карусель завертится, и мы увидим на листе вот такую картину:
Остановить последовательность можно, запустив, соответственно макрос Finish. Для удобства можно обоим макросам назначить сочетания клавиш, используя команду Макросы — Параметры на вкладке Разработчик (Developer — Macros — Options) .
Запуск макроса по расписанию
Само-собой, всё описанное выше возможно только в том случае, если у вас запущен Microsoft Excel и в нём открыт наш файл. Теперь давайте рассмотрим более сложный случай: нужно по заданному расписанию, например, каждый день в 5:00 запускать Excel, открывать в нем большой и сложный отчет и обновлять в нем все связи и запросы, чтобы к нашему приходу на работу он был уже готов 🙂 В такой ситуации лучше воспользоваться Планировщиком Windows — специально встроенной в любую версию Windows программой, которая умеет по расписанию выполнять заданные действия. По факту, вы уже используете его, сами того не зная, ведь ваш ПК регулярно проверяет обновления, качает новые антивирусные базы, синхронизирует облачные папки и т.д. — это всё работа Планировщика. Так что наша задача сводится к тому, чтобы добавить к уже имеющимся задачам ещё одну, которая будет запускать Excel и открывать в нём заданный файл. А мы с вами повесим наш макрос на событие Workbook_Open этого файла — и задача решена. Хочу сразу предупредить, что для работы с Планировщиком, возможно, потребуются расширенные пользовательские права, поэтому, если вы не можете найти описанных ниже команд и функций у себя на рабочем компьютере в офисе — обратитесь за помощью к вашим IT-специалистам.
Запускаем Планировщик
- Щелкнуть правой кнопкой мыши по кнопке Пуск и выбрать Управление компьютером (Computer management)
- Выбрать в Панели управления: Администрирование — Планировщик заданий (Control Panel — Administrative Tools — Task Scheduler )
- Выбрать в главном меню Пуск — Стандартные — Служебные — Планировщик заданий
- Нажать сочетание клавиш Win + R , ввести taskschd.msc и нажать Enter
На экране должно появиться примерно такое окно (у меня англоязычная версия, но у вас может быть и русскоязычная):

Создаем задачу
Чтобы создать новую задачу с помощью простого пошагового мастера нажмем на ссылку Создать простую задачу (Create Basic Task) в правой панели.
На первом шаге мастера нужно ввести название и описание создаваемой задачи:
Жмем на кнопку Далее (Next) и на следующем шаге выбираем триггер — частоту запуска или событие, которое будет запускать нашу задачу (например, включение компьютера):

Если вы выбрали Ежедневно (Daily) , то на следующем шаге нужно будет выбрать конкретное время, дату начала последовательности и шаг (каждый 2-й день, 5-й день и т.д.):

Следующий шаг — выбираем действие — Запуск программы (Start a program) :
И, наконец, самое интересное — что именно нужно открывать:
-
Щелкнуть правой кнопкой мыши по иконке (ярлычку) запуска Excel на рабочем столе или в панели задач и выбрать команду Свойства (Properties) , а затем в открывшемся окне скопировать путь из строки Target:





Cкопировать получившийся путь, не забыв потом дописать к нему обратный слэш и EXCEL.EXE в конце.
В поле Добавить аргументы (необязательно) (Add arguments (optional)) нужно вставить полный путь к книге с макросом, которую мы хотим открыть.
Когда всё ввели, то жмем Далее и затем Готово (Finish) . Задача должна добавиться в общий список:
Управление созданной задачей удобно осуществлять с помощью кнопок справа. Здесь можно протестировать задачу, запустив её немедленно (Run), не дожидаясь наступления заданного срока. Можно временно деактивировать задачу (Disable), чтобы она перестала выполняться на время, например, вашего отпуска. Ну, и изменить параметры (даты, время, имя файла) тоже всегда можно через кнопку Свойства (Properties) .
Добавляем макрос на открытие файла
Теперь осталось повесить в нашей книге запуск нужного нам макроса на событие открытия файла. Для этого откроем книгу и перейдем в редактор Visual Basic с помощью сочетания клавиш Alt + F11 или кнопки Visual Basic на вкладке Разработчик (Developer) . В открывшемся окне в левом верхнем углу нужно найти наш файл на дереве и двойным щелчком мыши открыть модуль ЭтаКнига (ThisWorkbook) .
Если у вас в редакторе Visual Basic не видно этого окна, то его можно открыть через меню View — Project Explorer.
В открывшемся окне модуля добавим обработчик события открытия книги, выбрав его из выпадающих списков в верхней части Workbook и Open, соответственно:
На экране должна появиться заготовка процедуры Workbook_Open, куда между строчками Private Sub и End Sub и нужно вставить те команды на VBA, которые должны автоматически выполняться при открытии этой книги Excel, когда её по расписанию откроет Планировщик. Вот несколько полезных вариантов для разгона:
-
ThisWorkbook.RefreshAll — обновление всех внешних запросов к данным, запросов Power Query и сводных таблиц. Самый универсальный вариант. Только не забудьте разрешить по умолчанию подключения к внешним данным и обновление связей через Файл — Параметры — Центр управления безопасностью — Параметры центра управления безопасностью — Внешнее содержимое, иначе при открытии книги появится стандартное предупреждение и Excel, ничего не обновляя, будет ждать от вас благословления в виде нажатия на кнопку Включить содержимое (Enable content) :

Если вы хотите, чтобы макрос выполнялся только при открытии файла Планировщиком в 5:00, а не каждый раз при открытии книги пользователем в течение рабочего дня, то имеет смысл добавить проверку на время, например:
If Format(Now, "hh:mm") = "05:00" Then ThisWorkbook.RefreshAll
Вот и всё. Не забудьте сохранить книгу в формате с поддержкой макросов (xlsm или xlsb) и можно смело закрывать Excel и отправляться домой, оставив компьютер включенным. В заданный момент (даже если ПК заблокирован) Планировщик запустит Excel и откроет в нём заданный файл, а наш макрос выполнит запрограммированные действия. А вы будете нежиться в постели, пока ваш тяжелый отчёт автоматически пересчитывается — красота! 🙂
Ссылки по теме
- Что такое макросы, как их использовать, куда вставлять код на Visual Basic в Excel
- Как создать свою надстройку с макросами для Excel
- Как использовать Личную Книгу Макросов (Personal Macro Workbook) как библиотеку для своих макросов в 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.
- Excel Formula Examples
- Создать таблицу
- Форматирование
- Функции Excel
- Формулы и диапазоны
- Фильтр и сортировка
- Диаграммы и графики
- Сводные таблицы
- Печать документов
- Базы данных и XML
- Возможности Excel
- Настройки параметры
- Уроки Excel
- Макросы VBA
- Скачать примеры
