Макрос в Excel — записанная последовательность действий, которая выполняется автоматически при нажатии горячей клавиши или кнопки. Технически — программный код на языке VBA (Visual Basic for Applications, разработка Microsoft). На практике: одно нажатие заменяет 10 ручных шагов и экономит до 99% времени на повторяющихся операциях.
Создать макрос можно двумя способами: через встроенный макрорекордер без единой строки кода — или написав VBA-код вручную в редакторе. В этом руководстве разберём оба пути: как активировать вкладку «Разработчик», записать первый макрос, запустить его и настроить безопасность. Три готовых примера с VBA-кодом — в разделе про практику, скопировать и адаптировать можно сразу.
Сделайте следующий шаг в карьере
Подберите обучение, которое поможет освоить новые компетенции
Хотите освоить Excel и макросы системно — с нуля, без отрыва от работы? В ProfiFuture есть курс Excel для работы с данными: 1 месяц онлайн, господдержка 75%, стоимость от 14 900 ₽, рассрочка 4 × 3 725 ₽ без переплат.

Представьте: каждое утро вы тратите полчаса на одно и то же — копируете данные, выделяете заголовки жирным, закрашиваете строки, выставляете ширину столбцов и сохраняете файл в нужную папку. Макрос запоминает весь этот набор действий с первого раза и воспроизводит его за 10 секунд.
По сути, макрос — это мини-программа, или макрокоманда: алгоритм действий, записанный внутри книги Excel. Когда вы говорите «запусти», он последовательно выполняет каждый шаг точно так, как делали вы, — без ошибок и промедлений.
Технически макрос реализован на языке VBA. VBA встроен во все приложения Microsoft Office: Excel, Word, Outlook, PowerPoint, Access. Для базового использования знать синтаксис необязательно — встроенный макрорекордер генерирует программный код автоматически, пока вы работаете в обычном режиме. Для сложных сценариев — условных проверок, циклов, интеграции с другими программами — код пишут вручную в редакторе VBA.
Два уровня работы с макросами:
Начать можно с базового уровня уже сегодня, без изучения синтаксиса.
Макросы выручают там, где одна и та же операция повторяется снова и снова: форматирование отчётов, сборка данных из разных листов, очистка таблиц, автоматическая рассылка через Outlook. Автоматизация рутинных задач — главный сценарий применения.
Пять типичных случаев:
| Тип задачи |
Время вручную |
С макросом |
Экономия |
|---|---|---|---|
| Форматирование таблицы | 30 мин | 10 сек | −99% |
| Сборка данных из листов | 2 ч | 5 мин | −96% |
| Очистка пробелов и символов | 3 ч | 2 мин | −99% |
| Рассылка через Outlook | 4 ч | 10 мин | −95% |
Инструмент особенно полезен аналитикам, бухгалтерам, менеджерам и маркетологам — всем, кто регулярно обрабатывает данные и тратит часы на повторяющиеся действия.
Прежде чем записать первый макрос, нужно выполнить три шага: активировать вкладку «Разработчик», сохранить файл в формате с поддержкой макросов и проверить параметры безопасности. Пропуск любого из них — и макрос либо не запишется, либо исчезнет при сохранении.
Вкладка «Разработчик» скрыта по умолчанию. Именно на ней находятся все инструменты для работы с макросами: кнопки «Записать макрос», «Макросы», «Visual Basic» и «Относительные ссылки».
Windows: Файл → Параметры → Настройка ленты → в правом столбце поставить галочку напротив «Разработчик» → ОК.

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

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

Это правило работает в обе стороны: если коллега перешлёт файл .xlsm и сохранит его как .xlsx — макросы пропадут безвозвратно. Предупреждайте об этом заранее.
Путь: Файл → Параметры → Центр управления безопасностью → Параметры центра управления безопасностью → Параметры макросов.
Рекомендуемый режим: «Включить все макросы с уведомлением» — Excel показывает жёлтую плашку при каждом открытии файла, и вы сами решаете, разрешать ли запуск. Это разумный баланс между удобством и защитой, закрывающий большинство рабочих сценариев.
Макрос создают двумя путями: записывают через макрорекордер или пишут VBA-код вручную в редакторе. Рекордер подходит для новичков и линейных задач без условий. Код вручную — когда нужны циклы, условные проверки или интеграция с внешними приложениями.
Макрорекордер — самый быстрый способ создать макрос без знания программирования. Он фиксирует все действия в Excel и автоматически генерирует VBA-код.
Пошаговая инструкция:


Абсолютные и относительные ссылки в Excel. По умолчанию рекордер запоминает конкретные адреса ячеек — абсолютные ссылки. Такой макрос всегда обработает один и тот же диапазон, даже если курсор стоит в другом месте. Для гибкого поведения — включите «Относительные ссылки» на вкладке «Разработчик» до нажатия «Записать макрос».
Важно: действия, выполненные макросом, Ctrl+Z не отменяет. Перед записью нового макроса обязательно сохраните резервную копию файла.
Ограничения рекордера: не поддерживает условные конструкции (If/Then) и циклы (For/Next), не работает вне ячеек, генерирует избыточный «мусорный» код — рабочий, но длинный.
Редактор открывается горячей клавишей Alt+F11 или через «Разработчик» → Visual Basic. Внутри нужно вставить модуль (Insert → Module) и написать код по шаблону:

Sub ИмяМакроса()
‘ Здесь код
End Sub
Базовые конструкции Visual Basic for Applications:
Преимущество перед рекордером: полный контроль над логикой — условия, циклы, обработка ошибок, пользовательские функции UDF через Function…End Function, интеграция с Word и Outlook.

После создания макрос нужно запустить. Есть три способа — выбирайте под ситуацию.
Горячие клавиши. Удобны для частого запуска. Клавиши назначают при записи или потом: «Разработчик» → Макросы → Параметры. Windows: Ctrl+Shift+[буква], macOS: Option+Cmd+[буква]. Один раз настроили — запускаете мгновенно.
Через диалог «Макросы». «Разработчик» → Макросы → выбрать нужный из списка → Выполнить. Подходит для разового запуска или тестирования перед назначением горячей клавиши.
Кнопка на листе. Вкладка «Разработчик» → «Вставить» → кнопка (элемент управления формы) → нарисовать на листе → привязать макрос к ней. Удобно для коллег, которые не знают о вкладке «Разработчик» и не будут туда заходить.
Область видимости: макрос из «Этой книги» работает только внутри неё. Личная книга макросов — глобальная: доступна из любого файла Excel на данном компьютере. Для универсальных инструментов, которыми пользуетесь ежедневно, выбирайте личную книгу.
Три универсальных макроса для работы — скопируйте в редактор VBA (Alt+F11 → Insert → Module) и адаптируйте под свои данные. Логику менять не придётся, достаточно скорректировать диапазоны и имена листов.
Задача: применить корпоративный стиль к любой таблице одной командой.
Sub ФорматированиеТаблицы()
Dim rng As Range
Set rng = Range(«A1:G100») ‘ Замените на свой диапазон
‘ Жирный заголовок
rng.Rows(1).Font.Bold = True
‘ Границы таблицы
rng.Borders.LineStyle = xlContinuous
‘ Автоподбор ширины столбцов
Пора сменить профессию? Начните с понятного плана
Подберите программу под ваш опыт, цели и желаемый формат занятости
rng.Columns.AutoFit
End Sub
Range(«A1:G100») — диапазон таблицы. Замените на свой или используйте Selection, чтобы макрос применялся к любому выделению. Запускайте назначенной горячей клавишей. Экономия: 30 мин → 10 сек (−99%).
Задача: объединить данные всех листов книги на итоговом листе — типичная задача при консолидации данных из региональных отчётов.
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%).
Задача: убрать пробелы и непечатаемые символы во всём выделенном диапазоне. Актуально для любых выгрузок из 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%).

Макросы из незнакомых файлов могут содержать вредоносный код. 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 — мини-программа, которая запоминает последовательность действий и воспроизводит их по одной команде. Технически — код на языке VBA (разработка Microsoft). Простой макрос создаётся через встроенный макрорекордер без знания программирования за несколько минут.
Для базовых задач — нет. Макрорекордер генерирует VBA-код автоматически. Знание синтаксиса нужно для сложных сценариев: условных проверок, циклов, интеграции с Outlook. Базовые конструкции Sub, Dim, If, For можно освоить за несколько часов практики.
Файл .xlsx не поддерживает макросы — при сохранении они удаляются безвозвратно. Формат .xlsm (книга Excel с поддержкой макросов) создан специально для хранения VBA-кода. Всегда сохраняйте книгу с макросами через «Сохранить как» → «Книга Excel с поддержкой макросов».
Абсолютные (по умолчанию) фиксируют конкретные ячейки: макрос всегда обработает один и тот же диапазон. Относительные «стартуют» с текущей выделенной ячейки — это даёт гибкость. Переключение: кнопка «Относительные ссылки» на вкладке «Разработчик» до начала записи.
Личная книга макросов — скрытый файл Excel, который хранит макросы с доступом из любого документа. Если выбрать «Эта книга» при записи, макрос доступен только в ней. Для универсальных макросов — форматирование, очистка данных — выбирайте «Личная книга макросов».
Макрос (Sub) выполняет действия — форматирует, копирует, удаляет. Пользовательская функция UDF создаётся через Function…End Function и возвращает значение, вызываясь в ячейке как стандартная формула: =ИмяФункции(A1). UDF расширяет возможности Excel, не изменяя лист напрямую.
Три универсальных макроса с VBA-кодом собраны прямо в этой статье: форматирование таблицы, сборка данных из листов, очистка пробелов. Код копируется в редактор VBA (Alt+F11) и адаптируется под задачи без изменения логики.
Да — макросы из незнакомых файлов могут содержать вредоносный код. Excel предупреждает жёлтой плашкой при открытии. Рекомендуемый режим: «Включить с уведомлением» в Центре управления безопасностью. Для полного отключения: ЦУБ → «Отключить все без уведомления».
Для системного освоения Excel и автоматизации через VBA подойдёт курс Excel для работы с данными от ProfiFuture: стоимость от 14 900 ₽ с господдержкой 75%, рассрочка 4 × 3 725 ₽ без переплат, срок обучения около 1 месяца с нуля в онлайн-формате в удобное время.
Превратите интерес к теме в новую профессию
Оставьте заявку — поможем выбрать программу и расскажем об условиях обучения
Оставить заявку