Макросы в Excel простыми словами: запись, запуск и безопасность
Макрос в Excel — это сохранённая последовательность команд для повторяющейся задачи. Вы можете один раз записать оформление заголовков, затем запускать его снова вместо повторных нажатий. Ниже разберём первый макрос на новой учебной книге: запись, проверку результата, сохранение в XLSM и отключение выполнения.
Что такое макросы в Excel простыми словами
Представьте, что в нескольких одинаковых отчётах нужно сделать заголовки полужирными. Вручную вы выделяете ячейки и меняете шрифт каждый раз. Макрос сохраняет команды для такого действия и повторяет их при запуске. Средство записи переводит поддерживаемые действия в код VBA — Visual Basic for Applications, встроенный язык автоматизации.
Макрос не понимает задачу как человек: он выполняет заложенные команды. Если команда относится к определённым ячейкам, она не догадается, что нужный заголовок переехал в другую строку. Поэтому первый пример сделаем маленьким и предсказуемым: только полужирный шрифт в A1:C1, без удаления данных, внешних файлов и отправки писем.
Формула решает другую задачу: вычисляет значение или преобразует данные в ячейке. Если нужно посчитать итог, найти запись или соединить текст, сначала проверьте обычные функции. В подборке «10 полезных функций Excel» есть примеры такого подхода. Макрос полезен, когда требуется повторить действия; Power Query и другие инструменты автоматизации тоже существуют, но в этой статье речь именно о VBA.
Перед началом: версия Excel и безопасная копия
Основные пути меню ниже относятся к настольному Excel Microsoft 365 для Windows с русским интерфейсом. Справка Microsoft также описывает запись для Excel 2024, 2021, 2019 и 2016: принцип тот же, названия отдельных пунктов и вид окон могут отличаться. В Mac вкладку включают через параметры Excel и раздел ленты, а не через Windows-путь «Файл → Параметры».
В Excel для Интернета нельзя создавать, изменять и выполнять VBA-макросы. Книга с таким кодом может открываться и редактироваться в браузере, но для работы с VBA понадобится настольное приложение. Это ограничение браузерной версии, а не ошибка вашего учебного файла; оно указано в справке Microsoft о VBA в Excel для Интернета.
Создайте пустую книгу. На первом листе введите A1 — «Товар», B1 — «Количество», C1 — «Цена». Оставьте обычный шрифт, сохраните учебный файл и закройте лишние книги. Рабочие отчёты с реальными данными для первой записи не нужны. При дальнейшем использовании макроса сначала делайте копию: на привычную команду отмены после его выполнения рассчитывать нельзя.
Как создать макрос с помощью записи действий
Сначала один раз проделайте оформление вручную, чтобы понять последовательность, затем верните заголовкам обычный шрифт. При записи Excel фиксирует и ошибочные действия: случайное выделение другого диапазона тоже может попасть в код. Для первого опыта достаточно одного изменения; клавишу быстрого запуска пока не назначаем.
- Откройте «Файл → Параметры → Настроить ленту». В списке основных вкладок отметьте «Разработчик» и подтвердите выбор кнопкой OK.
- Вернитесь на первый лист учебной книги. На вкладке «Разработчик» проверьте, что режим «Использовать относительные ссылки» выключен: пример привязан к A1:C1.
- Нажмите «Запись макроса». В поле имени введите FormatDemo: имя начинается с буквы и не содержит пробелов.
- В поле «Сохранить в» выберите «Эта книга». Поле сочетания клавиш оставьте пустым, а в описании напишите: «Полужирные заголовки A1:C1».
- Нажмите OK — с этого момента идёт запись. Выделите диапазон A1:C1 на текущем первом листе.
- На вкладке «Главная» включите полужирный шрифт для выделенных заголовков. Не меняйте другие ячейки и не открывайте сторонние файлы.
- Перейдите на «Разработчик» и нажмите «Остановить запись». Теперь дальнейшие обычные действия не добавляются к этому макросу.

Подробный порядок и ограничения описаны в инструкции Microsoft по записи макросов. Для учебного имени используем латиницу, чтобы его было удобно найти и сопоставить с кодом. При выборе «Эта книга» запись хранится вместе с данным файлом; личная книга макросов — отдельный вариант, который сейчас не нужен.
Почему важны выбранный диапазон и ссылки
В нашем примере команда относится к A1:C1. Выделить перед запуском A5:C5 недостаточно, чтобы она автоматически переехала туда. Фиксированные ссылки хороши для первой проверки: заранее понятно, какие ячейки должны измениться. Добавленные строки и другой размер отчёта нужно учитывать в коде отдельно.
Режим относительных ссылок меняет принцип записи: адреса могут рассчитываться относительно исходного выделения. Для задач с перемещением это бывает полезно, но смешивать оба режима в первой попытке не стоит. Сначала убедитесь, что фиксированный пример работает на том же листе и диапазоне.
Как запустить макрос и сохранить XLSM
Чтобы увидеть повторное выполнение, после остановки записи вручную снимите полужирное оформление с A1:C1. Останьтесь на первом листе этой же учебной книги. Затем откройте «Разработчик → Макросы», выберите FormatDemo и нажмите «Выполнить». Заголовки должны снова стать полужирными, а их текст — остаться прежним.

Если заголовки уже были полужирными, видимого изменения не будет — это ещё не означает, что макрос не сработал. Проверяйте заранее выбранный признак. При неверном результате не запускайте запись много раз: остановитесь и посмотрите, какой диапазон и действия попали в код.
Откройте «Файл → Сохранить как», выберите место и тип «Книга Excel с поддержкой макросов (*.xlsm)». Назовите файл, например, FormatDemo.xlsm. Если приложение предлагает сохранить вариант без VBA, не подтверждайте потерю кода, когда хотите оставить макрос. Названия кнопок предупреждения зависят от версии; ориентируйтесь на смысл сообщения и выбранный тип файла.
XLSM сохраняет VBA, а XLSX — нет. Это различие форматов объясняется в справке Microsoft о сохранении макроса. Расширение XLSM само по себе не говорит о надёжности содержимого: чужой файл может содержать совсем другие команды. После сохранения закройте учебную книгу, снова откройте её и проверьте наличие FormatDemo в списке макросов.
Если при повторном открытии вашего собственного учебного файла появилось предупреждение, разрешать выполнение имеет смысл только после проверки, что это именно созданная вами книга и понятный код. На рабочем устройстве соблюдайте правила организации. Для запуска первого примера не нужно включать все макросы, добавлять папку загрузок в доверенные места или снимать корпоративные ограничения.
Когда первый пример понятен, следующий вопрос — как выбирать диапазоны и строить сценарии под реальные отчёты. В курсе DARCHIK «Excel PRO Автоматизация» программа включает VBA, элементы управления и формы ввода, а также Power Query и работу с данными. Можно посмотреть её, чтобы выбрать дальнейшую практику под свои задачи.
Простой пример VBA и где его посмотреть
Откройте «Разработчик → Макросы», выберите FormatDemo и команду изменения кода — обычно «Изменить». Excel откроет редактор Visual Basic с записанной процедурой. Запись может содержать выделение ячеек, комментарии и несколько настроек шрифта. Для сравнения ниже — сокращённый вариант той же учебной задачи, с явной привязкой к книге и первому листу.
Sub FormatDemo()
ThisWorkbook.Worksheets(1).Range("A1:C1").Font.Bold = True
End Sub
Первая строка объявляет процедуру FormatDemo, последняя завершает её. Команда внутри указывает на книгу, где хранится данный код, берёт её первый рабочий лист и диапазон A1:C1, затем включает полужирный шрифт. True означает «включено». Имена VBA и обычные прямые кавычки внутри кода оставляйте как показано, не переводите их в русские слова.
ThisWorkbook помогает явно выбрать книгу с макросом, а не случайно активный файл. Worksheets(1) — первый лист по порядку: если переставить листы, первым станет другой. Поэтому этот короткий пример подходит для подготовленной учебной книги; в рабочем сценарии выбор нужного листа нужно продумать отдельно.
Если хотите проверить сокращённый вариант, сначала сохраните копию учебного XLSM. Замените в редакторе всю существующую процедуру FormatDemo от Sub до End Sub; не вставляйте вторую процедуру с тем же именем рядом. Вернитесь в Excel, снимите полужирное оформление с A1:C1 первого листа и повторите запуск. Код изменяет только шрифт, не значения ячеек.
Как отключить макросы в Excel
В Windows откройте «Файл → Параметры → Центр управления безопасностью → Параметры центра управления безопасностью → Параметры макросов». Если видна вкладка «Разработчик», раздел можно открыть и через «Безопасность макросов». Выбранные здесь настройки относятся к Excel; они не меняют автоматически параметры всех приложений Office.
Для запрета обычного выполнения VBA выберите «Отключить макросы VBA без уведомления» либо вариант с уведомлением, если хотите видеть предупреждение о наличии макросов. В старых интерфейсах названия могут содержать «все макросы» вместо «макросы VBA». Вариант с уведомлением не удаляет код: он позволяет отдельно оценивать документ, а не автоматически запускать его.
Описание режимов есть в справке Microsoft о безопасности макросов. Не выбирайте «Включить все макросы» ради одной учебной книги. У ранее доверенных документов и расположений могут действовать отдельные правила; если нужен полный запрет на рабочем устройстве, его следует согласовать с администратором, а не ограничиваться одним флажком.

Отключить выполнение и убрать VBA из файла — разные действия. Чтобы удалить конкретный учебный макрос, откройте «Разработчик → Макросы», выберите его и нажмите «Удалить», предварительно сохранив нужную копию. Чтобы создать отдельную версию книги без VBA, сохраните её как XLSX и подтвердите соответствующее предупреждение. Оригинальный XLSM останется отдельным файлом, если вы его не заменяли.
Если Excel блокирует макрос из Интернета
У полученного из Интернета файла может быть специальная метка происхождения. В современных приложениях Office для Windows она участвует в отдельной защите от запуска макросов: обычного изменения режима с уведомлением может оказаться недостаточно. Подробности Microsoft описывает в материале о блокировке макросов из Интернета.
Для неизвестного вложения правильный следующий шаг — уточнить отправителя, назначение и содержимое файла, а не искать универсальный способ снять блокировку. Просмотр данных не требует автоматически разрешать VBA. Если ограничения установлены организацией, обратитесь к администратору. Для практики возвращайтесь к своей пустой учебной книге.
Почему макрос не запускается
Сначала определите симптом. «Не вижу кнопку», «не вижу макрос» и «макрос есть, но запрещён» требуют разных проверок. Таблица поможет найти причину без общего снятия защиты.
| Симптом | Возможная причина | Что проверить |
|---|---|---|
| Нет «Разработчика» | Вкладка скрыта | Настроить ленту |
| FormatDemo не в списке | Открыта другая книга | Файл и место хранения |
| Макрос исчез | Сохранено в XLSX | Исходный XLSM или копия |
| Запуск недоступен | Excel в браузере | Настольное приложение |
| Предупреждение о запрете | Защита или политика | Источник; правила организации |
| Не видно изменения | Шрифт уже полужирный | Снять оформление и повторить |
Если ошибка появилась после изменения кода, сравните его с коротким примером: нет ли второго Sub FormatDemo, потерянной кавычки или отсутствующего End Sub. Проверьте, что код находится в модуле нужной книги. Сообщение о защите и синтаксическая ошибка — разные случаи: изменение настроек безопасности не исправит опечатку.
Частые вопросы
Нужно ли знать программирование для первого макроса?
Для записи поддерживаемых действий писать VBA вручную необязательно. Достаточно подготовить короткую последовательность и проверить результат. Понимание кода пригодится, когда нужно менять диапазоны, условия или обрабатывать разные книги.
Можно ли запустить VBA-макрос в Excel в браузере?
Нет: для создания, изменения и выполнения VBA нужен настольный Excel. В браузере можно работать с данными книги, в которой уже хранится макрос. Само открытие такой книги не делает выполнение VBA доступным.
Почему макрос пропал после сохранения?
Проверьте формат и файл, который открыли. Если сохранили книгу как XLSX и подтвердили удаление VBA, макрос в этой версии не останется. Ищите исходный XLSM или свою резервную копию; одно переименование расширения не восстановит утраченный код.
Отключение макросов удаляет код из книги?
Нет. Настройка управляет выполнением, а код может продолжать храниться в XLSM. Для удаления макроса или сохранения копии без VBA нужны отдельные действия, описанные выше.
Заключение
Запишите одно действие в новой книге, проверьте результат на A1:C1 и сохраните XLSM. Когда захотите перейти от записи к управляемым сценариям, посмотрите программу «Excel PRO Автоматизация» и выберите следующую задачу для практики.