Анализ данных и автоматизация

Макросы в Excel: как записать повторяющиеся действия и включить вкладку «Разработчик»

Макросы в Excel — это записанные последовательности действий для тех, кто каждый день повторяет одно и то же оформление, перенос или печать. Средство записи переводит щелчки и ввод в код VBA, а запуск занимает одну команду. По справке Microsoft записанные шаги нельзя отменить[1], поэтому первую запись делают на копии книги. Ниже — пример, запись, запуск и границы инструмента.

Тренажёр: 7 шагов

Рутина выглядит одинаково: каждое утро выгрузка, шапку надо сделать жирной, столбцы подогнать по ширине, лист распечатать. Справка Microsoft описывает выход: средство записи макросов записывает все шаги в коде Visual Basic для приложений, и знать VBA для этого не нужно[1]. Десять щелчков превращаются в одну кнопку, а макрос в Excel выполняет их одинаково каждый раз.

Путь к первому макросу в экселе короткий. Сначала поймите задачу — какие действия повторяются без изменений. Затем выберите инструмент: запись подходит для одинаковых шагов, код — для условий и повторов по списку. Освойте основы — вкладку «Разработчик», запись, запуск и формат XLSM, — попробуйте записать шаги в тренажёре и примените макрос к своему отчёту. Главный риск — запустить чужой файл с макросами: справка советует запускать их только из файлов, которым вы доверяете[2].

Ключевые факты: макросы в Excel

  • Средство записи переводит действия пользователя в код Visual Basic для приложений, знать язык для этого не нужно[1].
  • В формате XLSX нельзя сохранить код макросов VBA, для макросов нужна книга XLSM[3].
  • Вкладку «Разработчик» показывают через File → Options → Customize Ribbon и флажок Developer[4].
  • Личная книга макросов Personal.xlsb отличается от текущей книги тем, что её макросы доступны в каждом сеансе[1].
  • Справка Microsoft советует запускать макросы только из файлов, которым вы доверяете[2].
  • Запись макросов описана для Excel 2016 и Excel 2019, а также для Windows- и Mac-версий Excel 2021, Excel 2024 и Microsoft 365[1].

Что такое макросы в Excel простыми словами

Макрос — это записанные действия, которые Excel повторяет одной командой или сочетанием клавиш. Макрорекордер регистрирует почти все действия пользователя — и ошибки тоже[1], поэтому перед записью шаги стоит отрепетировать. Внутри макроса хранится код Visual Basic для приложений, его можно открыть и поправить.

ЗадачаЧем закрытьЧто учесть
оформление отчёта: шрифт, заливка, ширина столбцовзапись макросаработает только на записанном диапазоне
перенос данных на другой листзапись или кодпри другой длине данных нужен код
печать нескольких листов по спискукод с повторомзапись не повторит шаги для каждого листа
подготовка еженедельной выгрузкизапрос Power Queryзапрос обновляется без макроса

Таблица типовых задач показывает главное: запись хороша для одинаковых шагов, а всё, что зависит от условий, требует правки кода. Макрос, записанный для диапазона, выполняется только для ячеек этого диапазона[1] — добавили строку в отчёт, и её оформление пропустится.

Справка о записи макросов относится к Excel для Microsoft 365, Excel 2024 и Excel 2021 — для Windows и для Mac, — а также к Excel 2019 и Excel 2016[1]. VBA встроен в настольные версии Excel и не требует особой лицензии, в отличие от Office Scripts[5].

Макросы в Excel полезны там, где действий много, а думать при этом не нужно: оформить шапку, вставить формулы в одни и те же ячейки, подготовить лист к печати. Записанный код открывают в редакторе Visual Basic: справка называет для этого сочетание ALT+F11[1]. Первые макросы обычно не требуют правки — достаточно, чтобы шаги в записи шли без лишних щелчков.

Похожий инструмент есть и в Google Таблицах: там макрос записывают через Extensions → Macros → Record macro, а внутри создаётся Apps Script, а не код VBA[6]. Перенести макрос из одной программы в другую без переписывания поэтому нельзя.

Миф: действие макроса можно отменить, как обычную правку, — на деле справка Microsoft прямо пишет, что макросы нельзя отменить[1].

Разобравшись с назначением, переходим к подготовке: без вкладки «Разработчик» записывать нечего.

Как включить вкладку «Разработчик» и разрешить макросы

Макросы записывают только с вкладки «Разработчик», а запуск чужих файлов регулируют параметры безопасности[1]. Вкладка «Разработчик» по умолчанию скрыта[1], и её включают один раз.

  1. Откройте File → Options и перейдите на вкладку Customize Ribbon[4].
  2. Поставьте флажок Developer в списке справа.
  3. Нажмите OK — вкладка появится на ленте.

Так путь описан в английской справке, и она относит его к Excel для Microsoft 365, Excel для Microsoft 365 для Mac и Excel для Интернета[4]. В русском интерфейсе флажок называется по имени вкладки — «Разработчик».

Дальше — безопасность макросов. Если при открытии книги появилось предупреждение системы безопасности, кнопка «Включить содержимое» включает макросы и делает документ надёжным[7]. Общие правила задают в центре управления безопасностью: Файл → Параметры → Центр управления безопасностью → Параметры центра управления безопасностью → Параметры макросов[7].

ПараметрЧто произойдёт
Отключить все макросы без уведомлениямакросы не запустятся, предупреждения не будет
Отключить все макросы с помощью уведомленияпоявится предупреждение с кнопкой включения
Отключение всех макросов, кроме макросов с цифровой подписьюзапустятся только подписанные
Включить все макросысправка помечает вариант как не рекомендуемый

Файл из интернета или вложение почты Windows помечает меткой Mark of the Web, и Excel показывает красную плашку Security Risk без кнопки включения[8]. Разблокируют такой файл в его свойствах: правой кнопкой → Properties → флажок Unblock на вкладке General[8]. Для Excel в канале Current Channel блокировка пришла с версией 2206[8], и она касается только Office в Windows, не затрагивая Mac и веб-версию[8].

Если макросы нужны постоянно, справка советует не включать их для каждого файла по отдельности, а завести надёжное расположение для доверенных документов[7]. Книги из этой папки центр управления безопасностью не проверяет.

Миф: кнопка «Включить содержимое» разблокирует любой файл с макросами — на деле для файлов из интернета справка Microsoft описывает плашку Security Risk без такой кнопки[8].

Однако включённая вкладка — только подготовка: сама запись устроена иначе, чем кажется, и требует порядка в шагах.

Как записать макрос по шагам и сохранить книгу в XLSM

Запись макроса начинают кнопкой «Запись макроса» в группе «Код» на ленте[1]; справка называет и клавиши ALT+T+M+R. Порядок такой:

  1. Нажмите «Запись макроса» и задайте имя.
  2. Первым символом имени макроса должна быть буква, дальше допустимы буквы, цифры и подчёркивания, пробелы — нет[1].
  3. При желании назначьте букву в поле «Сочетание клавиш».
  4. В списке «Сохранить в» оставьте «Эта книга» или выберите «Личная книга макросов».
  5. Нажмите ОК, выполните действия и остановите запись кнопкой в группе «Код».

Сочетание клавиш выбирайте с оглядкой: занятая буква перекрывает встроенное сочетание Excel, пока книга открыта[1]. Личная книга макросов отличается от текущей книги тем, что хранит макрос в скрытом файле Personal.xlsb и даёт его в каждом сеансе[1]. Описание к макросу необязательно, но справка его рекомендует: через месяц по описанию проще понять, какой макрос что делает[1].

Сохранение решает, переживёт ли макрос закрытие файла. Если сохранить книгу как XLSX, код пропадёт: в этом формате нельзя сохранять код макросов VBA[3]. Нужен формат XLSM — он хранит и код VBA, и листы макросов Excel 4.0[3].

Миф: обычная книга XLSX сохранит записанный макрос — на деле справка Microsoft о форматах прямо запрещает хранить в XLSX код макросов VBA[3].

Перед записью закройте лишние книги, выделите нужный лист и пройдите шаги один раз без записи. Чем меньше случайных щелчков попадёт в макрос, тем проще потом прочитать его код. Если запись пошла не так, остановите её и начните заново: удалить неудачный макрос проще, чем вычищать лишние строки из кода. Имя давайте говорящее — «ОформитьШапку» понятнее, чем «Макрос1», а справка напоминает, что имена, похожие на ссылки на ячейки, могут вызвать ошибку[1].

Именно поэтому записанный макрос полезно сразу проверить на примере и посмотреть, какой код он оставил.

Пример макроса: оформить шапку и запустить код кнопкой

Макрос оформления шапки делает строку заголовков жирной одной командой. Запишите его на учебном листе:

ABCD
1ДатаКлиентТоварСумма
203.11ОльховЛампа2400
303.11СадыковаКресло15900

Включите запись, выделите A1:D1, нажмите кнопку полужирного шрифта и остановите запись. Запись создаст в редакторе Visual Basic процедуру Sub с выделением диапазона и свойством Font.Bold; короткий вариант той же команды по образцу справки о свойстве Bold[9]:

Sub FormatHeader()
    Range("A1:D1").Font.Bold = True
End Sub

Запускают готовую процедуру несколькими способами:

  • на вкладке «Разработчик» выберите «Макросы», отметьте нужный и нажмите «Выполнить»[2];
  • назначенным сочетанием: в Windows — CTRL+буква для строчной буквы и CTRL+SHIFT+БУКВА для прописной[2];
  • щелчком по фигуре: правой кнопкой по фигуре → «Назначить макрос»[2];
  • кнопкой на панели быстрого доступа или в своей группе ленты[2];
  • из редактора Visual Basic клавишей F5, а пошагово — клавишей F8[2].

Назначение сочетания Ctrl+z лишает книгу обычной отмены действия[2], поэтому справка советует сочетания с SHIFT. Процедуру, которая должна срабатывать при открытии книги, пишут в Workbook_Open объекта ThisWorkbook[2].

Кнопка-фигура удобнее всего для коллег: нарисуйте прямоугольник над таблицей, подпишите его «Оформить» и назначьте ему процедуру. Пошаговый запуск клавишей F8 помогает понять, на какой строке код делает не то, что ожидалось. Для макроса из личной книги кнопку лучше вынести на панель быстрого доступа: тогда он под рукой в любом файле.

Запишите и запустите такой макрос в тренажёре: урок проверит, что шапка оформлена, а команда сработала на нужном диапазоне.

Остаётся понять, когда записи хватает, а когда придётся писать код вручную.

Запись или код вручную: чем отличаются способы создания макроса

Записанный макрос повторяет шаги буквально, а написанный вручную код умеет проверять условия. Запись — быстрый старт: она не требует знания языка и сразу даёт рабочий код. Ручной код нужен, когда шаги зависят от данных.

ПризнакЗаписьКод вручную
нужно знать VBAнетда
диапазонтолько записанныйлюбой, в том числе вычисленный
условия и повторыне записываютсяпишутся в коде
ошибки при записипопадают в процедуруправятся до запуска
скорость стартаминутыдольше, нужен редактор

Запись не знает, сколько строк будет завтра: она оформит ровно те ячейки, что были выделены[1]. Если таблица растёт каждый день, откройте код в редакторе Visual Basic и замените адрес диапазона — или перепишите шаг, чтобы он находил границу данных сам.

Английская справка о различиях Office Scripts и VBA подчёркивает, что код VBA получает тот же уровень доступа, что и Excel, то есть полный доступ к компьютеру[5]. Отсюда правило безопасности: чужой код сначала читают, потом запускают.

Комбинированный путь работает лучше всего: запишите шаги, откройте результат в редакторе и поправьте одну-две строки. Так видно, какие объекты и свойства Excel использует запись, и код перестаёт быть чёрным ящиком. Для отладки пригодится тот же пошаговый запуск клавишей F8[2].

В Google Таблицах выбор сделан при записи: справка Google предлагает абсолютные ссылки — запись работает с теми же ячейками — или относительные, когда шаги применяются к выделенной ячейке и соседним[6].

Не путать: процедуры, переменные и объекты листа — тема языка, а не записи; подробнее — на странице о VBA для начинающих и первом коде.

Разобравшись со способами создания, переходим к случаям, когда автоматизация записью лишняя.

Когда макросы не подойдут

Макросы не подойдут, если книгу открывают в браузере или результат нужно уметь отменить. Записанный код выполняется только в настольных версиях Excel, а его действия не возвращаются командой отмены.

  • Если книгу открывают в Excel в Интернете, код VBA там не работает[5] — для браузера есть сценарии Office Scripts для Excel в браузере.
  • Когда действие нужно уметь отменить, запись опасна: макросы нельзя отменить командой отмены, поэтому перед запуском нужна копия книги[1].
  • Если выгрузку каждую неделю чистят одинаковыми шагами, удобнее запрос Power Query с записанными шагами: он обновляется без кода.
  • При данных, которые каждый раз другой длины, записанные шаги промахнутся мимо новых строк — нужен код.
  • Если файл пришёл из интернета, в Windows его код будет заблокирован до снятия метки в свойствах[8].

Коротко: макросы не подойдут, если книгу открывают в Excel в Интернете, если действие нужно отменять или если данные каждый раз другой длины. В остальных случаях запись экономит минуты каждый день и окупается уже на второй неделе.

Перед тем как раздавать книгу коллегам, проверьте три вещи: формат XLSM, понятное имя процедуры и кнопку на листе. Расскажите, что при открытии появится предупреждение безопасности, и объясните, откуда взялся файл, — тогда «Включить содержимое» нажмут осознанно. Если коллега работает на Mac, сочетания там другие: справка о запуске называет OPTION+COMMAND+буква или CTRL+буква[2].

Начните с одной записи для самого частого действия — оформления шапки или печати. Соседние темы собраны среди всех уроков тренажёра по автоматизации отчётов.

Частые вопросы

Что такое макрос простыми словами?

Макрос — это записанная цепочка действий, которую запускают одной командой или сочетанием клавиш. Внутри хранится код VBA: средство записи создаёт его само, знать язык не нужно[1].

Как включить макросы в Excel?

Чтобы включить макросы в Excel: 1) откройте книгу и нажмите «Включить содержимое» в предупреждении системы безопасности; 2) для общих правил зайдите в Параметры макросов центра управления безопасностью[7]. Вариант «Включить все макросы» справка не рекомендует.

Где хранятся записанные процедуры?

Записанные процедуры хранятся в текущей книге или в личной книге — скрытом файле Personal.xlsb, который доступен в каждом сеансе[1]. Книгу с кодом сохраняют в формате XLSM.

Почему запись пропала после закрытия файла?

Запись пропадает, если книгу сохранили в формате XLSX: этот формат не хранит код VBA[3]. Сохраните файл как книгу с поддержкой кода — XLSM — и запишите шаги заново.

Можно ли отменить действие макроса?

Нет: отменить действие макроса нельзя, справка пишет об этом прямо[1]. Перед запуском сохраните книгу или работайте на копии, а сочетание Ctrl+z процедуре не назначайте.

Работает ли код VBA на Mac и в браузере?

Код VBA работает в Excel для Windows и Excel для Mac, а в Excel в Интернете не поддерживается[5]. Для браузерной версии в экселе есть отдельный инструмент — Office Scripts.

Чем макрос отличается от VBA?

Макрос отличается от VBA тем, что это готовая процедура, а VBA — язык, на котором она записана. Средство записи создаёт код само, а условия и повторы дописывают вручную в редакторе Visual Basic[1].

Источники

  1. [1] Microsoft, справка «Автоматизация задач с помощью средства записи макросов — Excel», 2026
  2. [2] Microsoft, справка «Запуск макроса в Excel», 2026
  3. [3] Microsoft, справка «Поддерживаемые Excel форматы файлов», 2026
  4. [4] Microsoft, справка «Show the Developer tab» (английская версия), 2026
  5. [5] Microsoft, справка «Differences between Office Scripts and VBA macros» (английская версия), 2026
  6. [6] Google, справка «Automate tasks in Google Sheets» (английская версия), 2026
  7. [7] Microsoft, справка «Включение и отключение макросов в файлах Microsoft 365», 2026
  8. [8] Microsoft, справка «Macros from the internet are blocked by default in Office» (английская версия), 2026
  9. [9] Microsoft, справка «Font.Bold property (Excel)» (английская версия), 2026

Похожие темы