Как запустить макрос в excel при открытии книги
Может потребоваться, чтобы макрос, записанный вами, запускался автоматически при запуске определенной книги. В следующей процедуре используется пример, чтобы показать, как это работает. Кроме того, может потребоваться автоматически запускатьмакрос при Excel запуска .
Прежде чем начать, убедитесь, что на ленте доступна вкладка Разработчик. Дополнительные сведения см. в статье Отображение вкладки «Разработчик».
Чтобы использовать пример ниже, откройте новую книгу.
Важно: Код VBA нельзя отменить, поэтому проверьте код в пустой книге или копии существующей книги. Если код не работает, вы можете закрыть книгу без сохранения изменений.
Откройте вкладку Разработчик и щелкните элемент Visual Basic.
В обозревателе VBA Project слева разверните папку VBA Project книги, а затем дважды щелкните модуль ThisWorkbook. Если вы не видите обозреватель Project, перейдите в > Project проводникаили нажмите CTRL+R.
В окне модуля, которое открывается справа, вставьте следующий код:
В конце и подмножите записи в процедуру Sub.
Закройте редактор Visual Basic (вам не нужно ничего сохранять).
Сохраните книгу как книгу Excel Macro-Enabled (XLSM)и закроем ее.
При следующем запуске книги код, добавленный в Workbook_Open, будет работать автоматически.
Прежде чем начать, убедитесь, что на ленте доступна вкладка Разработчик. Для этого:
В меню выберите пункт Параметры Excel >. >ленты & панели инструментов.
В категории Настройка ленты в списке Основные вкладки выберите вариант Разработчик.
Нажмите кнопку Сохранить.
Чтобы использовать пример ниже, откройте новую книгу.
Важно: Код VBA нельзя отменить, поэтому проверьте код в пустой книге или копии существующей книги. Если код не работает, вы можете закрыть книгу без сохранения изменений.
Откройте вкладку Разработчик и щелкните элемент Visual Basic.
В обозревателе VBA Project слева разверните папку VBA Project книги, а затем дважды щелкните модуль ThisWorkbook.
В окне модуля, которое открывается справа, вставьте следующий код:
В конце и подмножите записи в процедуру Sub.
Закройте редактор Visual Basic (вам не нужно ничего сохранять).
Сохраните книгу как книгу Excel Macro-Enabled (XLSM)и закроем ее.
При следующем запуске книги код, добавленный в Workbook_Open, будет работать автоматически.
Дополнительные сведения
Вы всегда можете задать вопрос эксперту в Excel Tech Community или получить поддержку в сообществах.
Как запустить макрос в excel при открытии книги
In many cases we may use the VBA code to achieve the operations which Excel built-in functions not support. But have you ever tried to run the VBA macro in each time of opening or closing the workbook. In this article, I will tell you how to run the VBA code while opening or closing the workbook every time.
Run VBA code when close or open workbook
1. Enable the workbook, press Alt + F11 keys to open the Microsoft Visual Basic for Applications window.
2. Double click ThisWorkbook in Project – VBAProject pane to open the ThisWorkbook (Code) window.
2. In the code window, select Workbook from the left drop down list. Notice that, in default, the Open will be displayed in right drop down list, if not, change it to Open.
3. Then copy your own code without the first and last line and paste between Private Sub Workbook_Open() and End Sub as below screenshot shown.
4. Then click Save button to save the code, in the popping reminder dialog, click No.
5 Then a Save As dialog pops out, save the file as Excel Macro-Enabled Workbook and select a folder to place the file.
6. Click Save button. Now the code will run while the workbook is open.
If you want to run the code while closing workbook each time, select Deactiviate from the right drop down list in the Code window, and copy the code you will run and paste between Private Sub Workbook_Deactivate() and End Sub .
Best Office Productivity Tools
Transform Hours into Minutes with Kutools for Excel!
Ready to supercharge your Excel tasks? Harness the power of Kutools for Excel — your ultimate time-saving tool. Streamline intricate tasks and glide through your data like a pro. Experience Excel at lightning speed!
Why You Need Kutools for Excel
️ Over 300 Powerful Features: Kutools is packed with more than 300 advanced features, simplifying your work in over 1500 scenarios.
Superior Data Processing: Merge cells, remove duplicates, and perform advanced data conversions – all without breaking a sweat!
⏱️ Efficient Batch Operations: Why put in extra effort when you can work smart? Import, export, combine, and tweak data in bulk with ease.
Customizable Charts and Reports: Access a broad variety of additional charts and generate insightful reports that tell a story.
️ Powerful Navigation Pane: Gain an advantage with the robust Column Manager, Worksheet Manager, and Custom Favorites.
Seven Types of Drop-down Lists: Make data entry a breeze with drop-down lists of various features and types.
User-Friendly: A breeze for beginners and a powerful tool for experts.
Excel works!

Запуск макроса в Excel. Как запустить макрос при открытии файла?
Если вы часто пользуетесь макросами в MS Excel, то уверен, у вас не раз возникал вопрос: «Как быстро запустить написанный макрос?». Можно привязать горячую клавишу, например. Так же мы расскажем, как сделать так, чтобы макрос был доступен из любого файла Excel и можно было сделать быстрый запуск макроса в Excel.
Если вы не знаете о чем идет речь, то советую прочитать специальную статью . Если коротко, макрос — это список действий, записанных при помощи «языка» VBA. Очень удобно записать такую последовательность, если вы часто выполняете одни и те же операции (их можно записать специальным инструментом — макрорекордером ). Макрос будет выполнять их при нажатии одной кнопки .
Где посмотреть полившийся макрос и запустить его?
Самый удобный способ работы с макросами и связанными инструментами — вывести вкладку Разработчик на панель инструментов

Включается он несложно — заходим в левую, верхнюю кнопку Параметры 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 — при изменение на листе
Если необходимо запустить макрос при изменении в ячейке — подробная инструкция есть в этой статье .
Как автоматически при открытии книги запустить макрос в excel?
Правда это не сработает в том случае, если у пользователя в настройках включена блокировка макросов (это включено по умолчанию). Нужно еще помочь ему отключить эту опцию. На самом деле более интересный вопроса как это сделать простым программным методом. Ума не приложу. Наверное через реестр или может есть какая-то встроенная VBA функция для этого.
Код для автозагрузки при открытии Word:
![]()
Добавлю к ответу igumnov.
Код необходимо вставить в модуль ЭтаКнига (Для Word — ThisDocument)
Alt+F11 — открываем проект VBA. Слева — окно проекта, модуль находится там, в папке Microsoft Excel Objects
Исполняемый макрос записывается в общий модуль (в папке Modules).
Если модуля нет, его нужно создать: в редакторе VBA вкладка Insert-Module
Если окна проекта нет, открыть — меню Viev-Project Explorer (Ctrl+R)
Если макросы запрещены, никакими внутренними встроенными средствами поменять уровень безопасности нельзя. В VBA тоже нет такой команды. Это противоречило бы логике защиты: запрещаем макросы, но тем же макросом их разрешаем.
Поменять уровень безопасности вручную:
Для Excel-2003: меню Сервис-Макрос-Безопасность
Для Excel-2010 глубже: закладка ленты Файл-Параметры-Центр_управления_безопасностью-Параметры_центра_управления_безопасностью-Параметры_макросов
Программно менять уровень безопасности можно, но перед этим нужно установить на компьютер скрипт, который «умеет» менять уровень безопасности. Такие программы есть в свободном доступе.