Медиаблог /

Что такое макросы в Excel и как их создать: пошаговое руководство

5 августа 2026

Что такое макросы в Excel и как их создать: пошаговое руководство

Макрос в Excel — записанная последовательность действий, которая выполняется автоматически при нажатии горячей клавиши или кнопки. Технически — программный код на языке VBA (Visual Basic for Applications, разработка Microsoft). На практике: одно нажатие заменяет 10 ручных шагов и экономит до 99% времени на повторяющихся операциях.

Макросы в Excel — вкладка Разработчик на экране компьютера

Создать макрос можно двумя способами: через встроенный макрорекордер без единой строки кода — или написав VBA-код вручную в редакторе. В этом руководстве разберём оба пути: как активировать вкладку «Разработчик», записать первый макрос, запустить его и настроить безопасность. Три готовых примера с VBA-кодом — в разделе про практику, скопировать и адаптировать можно сразу.

image

Сделайте следующий шаг в карьере

Подберите обучение, которое поможет освоить новые компетенции

Выбрать курс

Хотите освоить Excel и макросы системно — с нуля, без отрыва от работы? В ProfiFuture есть курс Excel для работы с данными: 1 месяц онлайн, господдержка 75%, стоимость от 14 900 ₽, рассрочка 4 × 3 725 ₽ без переплат.

Что такое макрос в Excel — объяснение для начинающих

Схема: макрос заменяет 10 ручных действий в Excel одним нажатием

Представьте: каждое утро вы тратите полчаса на одно и то же — копируете данные, выделяете заголовки жирным, закрашиваете строки, выставляете ширину столбцов и сохраняете файл в нужную папку. Макрос запоминает весь этот набор действий с первого раза и воспроизводит его за 10 секунд.

По сути, макрос — это мини-программа, или макрокоманда: алгоритм действий, записанный внутри книги Excel. Когда вы говорите «запусти», он последовательно выполняет каждый шаг точно так, как делали вы, — без ошибок и промедлений.

Технически макрос реализован на языке VBA. VBA встроен во все приложения Microsoft Office: Excel, Word, Outlook, PowerPoint, Access. Для базового использования знать синтаксис необязательно — встроенный макрорекордер генерирует программный код автоматически, пока вы работаете в обычном режиме. Для сложных сценариев — условных проверок, циклов, интеграции с другими программами — код пишут вручную в редакторе VBA.

Два уровня работы с макросами:

  • Базовый — макрорекордер записывает ваши действия и превращает их в VBA-код без участия программиста.
  • Продвинутый — VBA-код пишется или дорабатывается вручную для задач, которые рекордер не умеет: условий, циклов, обработки ошибок, пользовательских функций (UDF).

Начать можно с базового уровня уже сегодня, без изучения синтаксиса.

Для каких задач нужны макросы в Excel

Макросы выручают там, где одна и та же операция повторяется снова и снова: форматирование отчётов, сборка данных из разных листов, очистка таблиц, автоматическая рассылка через Outlook. Автоматизация рутинных задач — главный сценарий применения.

Пять типичных случаев:

  1. Форматирование таблиц. Применить корпоративный стиль к любой выгрузке — жирные заголовки, чередование строк, ширина столбцов — одной командой.
  2. Сборка отчётов. Консолидировать данные с 20 листов на итоговый лист без копирования вручную.
  3. Очистка данных. Убрать лишние пробелы, непечатаемые символы и дублирующиеся строки из выгрузки 1С или CRM за секунды.
  4. Рассылка через Outlook. Отправить персонализированные письма каждому клиенту из списка, не открывая почту вручную.
  5. Пользовательские функции. Создать формулу, которой нет в Excel по умолчанию, и вызывать её в ячейках как обычную: =МояФункция(A1).
Тип задачи
Время вручную
С макросом
Экономия
Форматирование таблицы 30 мин 10 сек −99%
Сборка данных из листов 2 ч 5 мин −96%
Очистка пробелов и символов 3 ч 2 мин −99%
Рассылка через Outlook 4 ч 10 мин −95%

Инструмент особенно полезен аналитикам, бухгалтерам, менеджерам и маркетологам — всем, кто регулярно обрабатывает данные и тратит часы на повторяющиеся действия.

Как включить и подготовить Excel к работе с макросами

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

Шаг 1 — Активация вкладки «Разработчик»

Вкладка «Разработчик» скрыта по умолчанию. Именно на ней находятся все инструменты для работы с макросами: кнопки «Записать макрос», «Макросы», «Visual Basic» и «Относительные ссылки».

Windows: Файл → Параметры → Настройка ленты → в правом столбце поставить галочку напротив «Разработчик» → ОК.

Настройка ленты Excel в Windows — включение вкладки Разработчик

macOS: Excel → Параметры → Лента и панель → включить «Разработчик» → Сохранить.

Активация вкладки Разработчик в Excel на macOS через настройки

Если доступа к настройкам ленты нет, базовые функции доступны через вкладку «Вид» → группа «Макросы». После активации вкладки «Разработчик» на ней появятся все нужные кнопки для записи и запуска.

Шаг 2 — Сохранение файла в формате .xlsm

Стандартный формат .xlsx не поддерживает макросы: при сохранении VBA-код удаляется без предупреждения. Книга Excel с поддержкой макросов хранится в формате .xlsm — сменить его нужно до начала записи.

Путь: Файл → Сохранить как → в выпадающем списке типов файлов выбрать «Книга Excel с поддержкой макросов (.xlsm)» → Сохранить.

Диалог «Сохранить как» в Excel — выбор формата XLSM для макросов

Это правило работает в обе стороны: если коллега перешлёт файл .xlsm и сохранит его как .xlsx — макросы пропадут безвозвратно. Предупреждайте об этом заранее.

Шаг 3 — Параметры безопасности

Путь: Файл → Параметры → Центр управления безопасностью → Параметры центра управления безопасностью → Параметры макросов.

Рекомендуемый режим: «Включить все макросы с уведомлением» — Excel показывает жёлтую плашку при каждом открытии файла, и вы сами решаете, разрешать ли запуск. Это разумный баланс между удобством и защитой, закрывающий большинство рабочих сценариев.

Как создать макрос в Excel: два способа

Макрос создают двумя путями: записывают через макрорекордер или пишут VBA-код вручную в редакторе. Рекордер подходит для новичков и линейных задач без условий. Код вручную — когда нужны циклы, условные проверки или интеграция с внешними приложениями.

Способ 1 — Запись через макрорекордер

Макрорекордер — самый быстрый способ создать макрос без знания программирования. Он фиксирует все действия в Excel и автоматически генерирует VBA-код.

Пошаговая инструкция:

  1. Вкладка «Разработчик» → «Записать макрос».
  2. Заполнить параметры диалогового окна:
  3. Имя — без пробелов, начинается с буквы (например: ФорматОтчёта).
  4. Сочетание клавиш — Windows: Ctrl+Shift+[буква]; macOS: Option+Cmd+[буква].
  5. Сохранить в — «Эта книга» для текущего файла, «Личная книга макросов» — для доступа из любого документа.
  6. Описание — необязательно, но полезно при командной работе.
  7. Нажать ОК — запись началась.
  8. Выполнить все нужные действия: форматирование, ввод данных, переходы.
  9. Вкладка «Разработчик» → «Остановить запись».

Инфографика: 4 шага работы с макрорекордером в Excel
Диалог записи макроса в Excel с заполненными параметрами и горячей клавишей

Абсолютные и относительные ссылки в Excel. По умолчанию рекордер запоминает конкретные адреса ячеек — абсолютные ссылки. Такой макрос всегда обработает один и тот же диапазон, даже если курсор стоит в другом месте. Для гибкого поведения — включите «Относительные ссылки» на вкладке «Разработчик» до нажатия «Записать макрос».

Важно: действия, выполненные макросом, Ctrl+Z не отменяет. Перед записью нового макроса обязательно сохраните резервную копию файла.

Ограничения рекордера: не поддерживает условные конструкции (If/Then) и циклы (For/Next), не работает вне ячеек, генерирует избыточный «мусорный» код — рабочий, но длинный.

Способ 2 — Написание кода VBA в редакторе

Редактор открывается горячей клавишей Alt+F11 или через «Разработчик» → Visual Basic. Внутри нужно вставить модуль (Insert → Module) и написать код по шаблону:

Редактор VBA в Excel — пример кода макроса Sub и End Sub

Sub ИмяМакроса()

‘ Здесь код

End Sub

Базовые конструкции Visual Basic for Applications:

  • Dim — объявить переменную.
  • Range(«A1:C10») — обратиться к диапазону ячеек.
  • If…Then…End If — условная проверка.
  • For…Next — цикл для перебора строк или листов.
  • On Error GoTo — обработка ошибок.
  • Application.ScreenUpdating = False — ускорить выполнение, отключив перерисовку экрана.

Преимущество перед рекордером: полный контроль над логикой — условия, циклы, обработка ошибок, пользовательские функции UDF через Function…End Function, интеграция с Word и Outlook.

Как запустить макрос в Excel

Диалог «Макросы» в Excel — список макросов и кнопка «Выполнить»

После создания макрос нужно запустить. Есть три способа — выбирайте под ситуацию.

Горячие клавиши. Удобны для частого запуска. Клавиши назначают при записи или потом: «Разработчик» → Макросы → Параметры. Windows: Ctrl+Shift+[буква], macOS: Option+Cmd+[буква]. Один раз настроили — запускаете мгновенно.

Через диалог «Макросы». «Разработчик» → Макросы → выбрать нужный из списка → Выполнить. Подходит для разового запуска или тестирования перед назначением горячей клавиши.

Кнопка на листе. Вкладка «Разработчик» → «Вставить» → кнопка (элемент управления формы) → нарисовать на листе → привязать макрос к ней. Удобно для коллег, которые не знают о вкладке «Разработчик» и не будут туда заходить.

Область видимости: макрос из «Этой книги» работает только внутри неё. Личная книга макросов — глобальная: доступна из любого файла Excel на данном компьютере. Для универсальных инструментов, которыми пользуетесь ежедневно, выбирайте личную книгу.

Готовые примеры макросов с VBA-кодом

Три универсальных макроса для работы — скопируйте в редактор VBA (Alt+F11 → Insert → Module) и адаптируйте под свои данные. Логику менять не придётся, достаточно скорректировать диапазоны и имена листов.

Пример 1 — Автоматическое форматирование таблицы

Задача: применить корпоративный стиль к любой таблице одной командой.

Sub ФорматированиеТаблицы()

Dim rng As Range

Set rng = Range(«A1:G100») ‘ Замените на свой диапазон

‘ Жирный заголовок

rng.Rows(1).Font.Bold = True

‘ Границы таблицы

rng.Borders.LineStyle = xlContinuous

‘ Автоподбор ширины столбцов

Пора сменить профессию? Начните с понятного плана

Подберите программу под ваш опыт, цели и желаемый формат занятости

  • Востребованные навыки без лишней теории.
  • Поддержку экспертов на каждом этапе
  • Помощь с выходом на рынок труда
Подобрать обучение
image

rng.Columns.AutoFit

End Sub

Range(«A1:G100») — диапазон таблицы. Замените на свой или используйте Selection, чтобы макрос применялся к любому выделению. Запускайте назначенной горячей клавишей. Экономия: 30 мин → 10 сек (−99%).

Пример 2 — Сборка данных из нескольких листов

Задача: объединить данные всех листов книги на итоговом листе — типичная задача при консолидации данных из региональных отчётов.

Sub СборкаДанных()

Dim ws As Worksheet

Dim итог As Worksheet

Dim lastRow As Long

Set итог = ThisWorkbook.Sheets(«Итог») ‘ Лист-приёмник

итог.Cells.Clear

For Each ws In ThisWorkbook.Worksheets

If ws.Name <> «Итог» Then

lastRow = итог.Cells(Rows.Count, 1).End(xlUp).Row + 1

ws.UsedRange.Copy итог.Cells(lastRow, 1)

End If

Next ws

End Sub

Цикл For Each ws In ThisWorkbook.Worksheets перебирает все листы книги и копирует заполненные диапазоны на лист «Итог». Обработка данных — с 2 ч до 5 мин (−96%).

Пример 3 — Очистка данных от лишних пробелов

Задача: убрать пробелы и непечатаемые символы во всём выделенном диапазоне. Актуально для любых выгрузок из 1С, CRM и внешних источников.

Sub ОчисткаПробелов()

Dim cell As Range

For Each cell In Selection

If Not IsEmpty(cell) Then

cell.Value = Trim(cell.Value)

End If

Next cell

End Sub

Выделите диапазон с «грязными» данными и запустите макрос. Trim() убирает лишние пробелы в начале и конце строки. Экономия: с 3 ч до 2 мин (−99%).

Управление безопасностью макросов

Инфографика: 4 режима безопасности макросов в Центре управления Excel

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

Как разрешить и включить макросы

Путь: Файл → Параметры → Центр управления безопасностью → Параметры центра управления безопасностью → Параметры макросов.

Четыре режима безопасности:

  1. Отключить все без уведомления — макросы не запустятся совсем, предупреждений нет.
  2. Отключить с уведомлением — жёлтая плашка при открытии файла; вы решаете, разрешать или нет. Рекомендуется для большинства пользователей.
  3. Включить только с цифровой подписью — для корпоративных файлов от доверенных издателей.
  4. Включить все без уведомления — не рекомендуется: чужой файл запустит макрос автоматически без вашего ведома.

Для файлов коллег и партнёров оптимален режим «С уведомлением» — Excel покажет жёлтую плашку, и вы сами нажмёте «Включить содержимое» только для знакомых источников.

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

Тот же путь: Центр управления безопасностью → «Отключить все макросы без уведомления». Используйте этот режим, когда открываете файлы из интернета или неизвестных источников: макросы не запустятся даже случайно, без предупреждения и без вашего участия.

Как удалить макрос

Через диалог: «Разработчик» → Макросы → выбрать нужный → «Удалить» → подтвердить.

Через редактор VBA: Alt+F11 → найти модуль с кодом → выделить всё содержимое → Delete.

Удаление необратимо: макрос не попадёт в корзину и не восстановится через Ctrl+Z. Убедитесь, что код больше не нужен, или сохраните его копию в отдельном файле перед удалением.

Частые ошибки новичков при работе с макросами

Четыре ошибки, которые делают почти все при первом знакомстве с макросами в Excel, — и как их избежать.

Ошибка 1: Сохранил в .xlsx — макросы исчезли. При сохранении Excel предупреждает об удалении VBA-кода, но предупреждение легко пропустить. Правило: файл с макросами — всегда .xlsm. Если код уже потерян, его придётся написать заново или восстановить из резервной копии.

Ошибка 2: Жёсткий диапазон при записи рекордером. Записали макрос на диапазоне A1:G50 — он будет форматировать только его, даже если таблица выросла до 200 строк. Решение: выделять целые столбцы (A:G) или включать «Относительные ссылки» до начала записи.

Ошибка 3: Запуск без резервной копии. Макрос обработал не те данные или удалил нужные строки — отмена действий через Ctrl+Z недоступна для операций, выполненных VBA-кодом. Правило: перед запуском любого нового макроса сохраните копию файла.

Ошибка 4: Абсолютные ссылки вместо относительных. Макрос записан с курсором в B2 — при запуске он всегда стартует с B2, игнорируя текущую позицию. Для гибких макросов, которые работают от любой ячейки, нажимайте кнопку «Относительные ссылки» на вкладке «Разработчик» до начала записи.

Часто задаваемые вопросы

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

Макрос в Excel — мини-программа, которая запоминает последовательность действий и воспроизводит их по одной команде. Технически — код на языке VBA (разработка Microsoft). Простой макрос создаётся через встроенный макрорекордер без знания программирования за несколько минут.

Нужно ли знать программирование, чтобы работать с макросами?

Для базовых задач — нет. Макрорекордер генерирует VBA-код автоматически. Знание синтаксиса нужно для сложных сценариев: условных проверок, циклов, интеграции с Outlook. Базовые конструкции Sub, Dim, If, For можно освоить за несколько часов практики.

Чем формат .xlsm отличается от .xlsx?

Файл .xlsx не поддерживает макросы — при сохранении они удаляются безвозвратно. Формат .xlsm (книга Excel с поддержкой макросов) создан специально для хранения VBA-кода. Всегда сохраняйте книгу с макросами через «Сохранить как» → «Книга Excel с поддержкой макросов».

В чём разница между абсолютными и относительными ссылками в макросе?

Абсолютные (по умолчанию) фиксируют конкретные ячейки: макрос всегда обработает один и тот же диапазон. Относительные «стартуют» с текущей выделенной ячейки — это даёт гибкость. Переключение: кнопка «Относительные ссылки» на вкладке «Разработчик» до начала записи.

Что такое Личная книга макросов и зачем она нужна?

Личная книга макросов — скрытый файл Excel, который хранит макросы с доступом из любого документа. Если выбрать «Эта книга» при записи, макрос доступен только в ней. Для универсальных макросов — форматирование, очистка данных — выбирайте «Личная книга макросов».

Что такое пользовательская функция (UDF) и чем она отличается от макроса?

Макрос (Sub) выполняет действия — форматирует, копирует, удаляет. Пользовательская функция UDF создаётся через Function…End Function и возвращает значение, вызываясь в ячейке как стандартная формула: =ИмяФункции(A1). UDF расширяет возможности Excel, не изменяя лист напрямую.

Где взять готовые макросы для Excel?

Три универсальных макроса с VBA-кодом собраны прямо в этой статье: форматирование таблицы, сборка данных из листов, очистка пробелов. Код копируется в редактор VBA (Alt+F11) и адаптируется под задачи без изменения логики.

Могут ли макросы быть опасными?

Да — макросы из незнакомых файлов могут содержать вредоносный код. Excel предупреждает жёлтой плашкой при открытии. Рекомендуемый режим: «Включить с уведомлением» в Центре управления безопасностью. Для полного отключения: ЦУБ → «Отключить все без уведомления».

Как пройти обучение по макросам и Excel?

Для системного освоения Excel и автоматизации через VBA подойдёт курс Excel для работы с данными от ProfiFuture: стоимость от 14 900 ₽ с господдержкой 75%, рассрочка 4 × 3 725 ₽ без переплат, срок обучения около 1 месяца с нуля в онлайн-формате в удобное время.

Превратите интерес к теме в новую профессию

Оставьте заявку — поможем выбрать программу и расскажем об условиях обучения

Оставить заявку
icon