Макросы в Microsoft Excel¶
Макросы в Microsoft Excel — это последовательности команд и действий, записанные на языке программирования VBA (Visual Basic for Applications), которые выполняются автоматически при вызове пользователем. Макросы позволяют автоматизировать повторяющиеся операции: обработку данных, форматирование таблиц, построение отчётов. По умолчанию в Excel макросы отключены — это связано с тем, что файлы с макросами могут содержать вредоносный код.
¶Что такое макрос и VBA
Макрос в Excel — это программа, написанная на VBA, встроенной среде разработки на базе языка Visual Basic. VBA доступен во всех настольных версиях Excel (включая редакции Microsoft 365), но отсутствует в веб-версии Excel Online.
Каждый макрос представляет собой подпрограмму (Sub), которая выполняет набор действий: ввод данных, применение формул, изменение свойств листа или книги. Пример простейшего макроса, выводящего сообщение:
``vba Sub Приветствие() MsgBox "Готово" End Sub ``
Макросы хранятся в книге Excel в формате .xlsm (книга с поддержкой макросов) или в отдельном шаблоне .xltm. Обычные файлы .xlsx и .xls макросы не поддерживают.
¶Как включить макросы в Excel
¶Способ 1. Через параметры доверия
- Открыть Excel, перейти в меню Файл → Параметры.
- Выбрать раздел Центр управления безопасностью → кнопка Параметры центра управления безопасностью.
- В открывшемся окне перейти на вкладку Параметры макросов.
- Выбрать один из четырёх вариантов:
- Отключить макросы без уведомления — наиболее безопасный режим;
- Отключить макросы с уведомлением — по умолчанию, Excel показывает предупреждение;
- Отключить макросы с уведомлением и отключить встроенную защиту контента — предупреждение появляется, но макросы отключаются без возможности включения;
- Включить все макросы (не рекомендуется) — макросы выполняются без ограничений.
- Нажать ОК и перезапустить Excel.
¶Способ 2. Через строку состояния
При открытии файла .xlsm с отключёнными макросами в строке состояния (слева внизу) появляется жёлтая полоса с уведомлением. Нажатие на неё и выбор пункта «Включить содержимое» активирует макросы для конкретного файла.
¶Способ 3. Добавление файла в список доверенных
В разделе Параметры макросов есть кнопка «Доверенные расположения». Добавление каталога в этот список позволяет автоматически включать макросы во всех файлах из этой папки — например, в рабочей директории с проверенными шаблонами.
¶Как создать и запустить макрос
¶Запись макроса
Excel включает встроенный рекордер макросов, который преобразует действия пользователя в код VBA:
- Вкладка Разработчик → кнопка Записать макрос.
- Указать имя макроса (латиницей, без пробелов), при необходимости назначить сочетание клавиш.
- Выполнить нужные действия на листе.
- Нажать Остановить запись.
Для отображения вкладки «Разработчик»: Файл → Параметры → Панель быстрого доступа или Основные → включить галочку «Показывать вкладку «Разработчик»».
¶Запуск макроса
- Вкладка Разработчик → Макросы (или сочетание клавиш Alt+F8) → выбрать макрос → Выполнить.
- Назначенное сочетание клавиш (например, Ctrl+Shift+M).
- Кнопка на панели быстрого доступа или элемент управления на листе (кнопка, связанная с макросом).
¶Просмотр и редактирование кода
Редактор VBA открывается сочетанием Alt+F11. В нём можно изменять записанный код, добавлять новые подпрограммы, использовать модули, формы и справочники.
¶Типы макросов
| Тип | Описание |
|---|---|
| Модульные | Отдельные подпрограммы в модуле, вызываются вручную или сочетанием клавиш |
| Событийные | Привязаны к событиям книги или листа (открытие, изменение ячейки, закрытие) |
| Автомакросы | Auto_Open / Auto_Close — выполняются при открытии и закрытии книги |
| Функции | Пользовательские функции (Function), доступные в формулах листа |
¶Безопасность
Макросы — основной вектор распространения вредоносного ПО в документах Office. Поэтому Microsoft рекомендует:
- не включать макросы в файлах из ненадёжных источников;
- использовать цифровые подписи для корпоративных макросов;
- ограничивать доступ к редактору VBA паролем;
- хранить проверенные шаблоны в доверенных расположениях.
В корпоративной среде политика групповых параметров Windows позволяет централизованно запрещать или разрешать макросы, включая отключение макросов с интернета (в версиях Excel с обновлением 2024 года включена политика «Block macros from Internet»).
¶Альтернативы макросам
Для автоматизации без VBA в Excel доступны:
- Power Query — импорт, очистка и объединение данных;
- Power Pivot — построение сводных моделей;
- Формулы динамических массивов — FILTER, SORT, UNIQUE;
- Power Automate — облачная автоматизация процессов между приложениями Microsoft.
Эти инструменты не требуют включения макросов и безопаснее при работе с внешними файлами.
¶Источники
- Документация Microsoft Learn: «Включение макросов в книге Excel»
- Справка Microsoft Excel: «Работа с макросами и Visual Basic»
- Microsoft Support: «Параметры макросов в центре управления безопасностью»
