Гид по технологиям

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

6 min read Excel автоматизация Обновлено 28 Mar 2026
Запись и запуск макросов в Excel
Запись и запуск макросов в Excel

Небольшой оранжево‑серебристый робот сидит на ковре с ноутбуком перед ним.

Если в Excel у вас большие объёмы данных, задачи по форматированию и очистке становятся рутинными и утомительными. Макросы помогают автоматизировать такие операции — записать последовательность действий и применять её к новым данным в один клик.

Может показаться, что слово «макрос» связано с программированием. Но Excel имеет встроенный регистратор макросов (Macro Recorder): вы выполняете действия в интерфейсе, а Excel автоматически создаёт код VBA. Это отличный старт для автоматизации без знания программирования.

Что такое макрос и коротко о VBA

Макрос — это набор команд, который повторяет ваши действия в Excel. VBA (Visual Basic for Applications) — язык, на котором макросы хранятся и которым их можно редактировать. Определение: макрос — автоматизированная последовательность действий; VBA — язык для ручного редактирования и расширения макросов.

Как включить вкладку Разработчик

Прежде чем записывать макрос, сделайте вкладку «Разработчик» видимой в панели ленты.

  1. Откройте файл в настольном приложении Excel.
  2. Выберите Файл, затем нажмите Параметры в левом нижнем углу.

Меню Файл в Excel с красной стрелкой, указывающей на слово Параметры в левом нижнем углу

  1. В окне Параметры Excel откройте Настроить ленту, поставьте галочку рядом с Разработчик и нажмите ОК.

Окно Excel с выбранной настройкой Настроить ленту слева и выделенной вкладкой Разработчик справа

  1. Вкладка Разработчик станет доступна в ленте — на ней вы найдёте запись макросов, окно редактора VBA и другие инструменты.

Важно: сохраняйте рабочую книгу как «Книга Excel с поддержкой макросов» (*.xlsm), чтобы макросы не потерялись.

Как записать макрос для форматирования дат

Регистратор макросов удобен для задач: фильтрация, сортировка, форматирование, преобразование текста и т.д. Пример: приведём столбец с датами к формату ГГГГ‑ММ‑ДД (yyyy‑mm‑dd).

  1. На вкладке Разработчик нажмите Запись макроса.

Лента Excel, вкладка Разработчик выделена, стрелка указывает на опцию Запись макроса

  1. Присвойте макросу имя (без пробелов), при желании укажите сочетание клавиш и описание, затем нажмите ОК.

Окно Запись макроса — создание и именование макроса

  1. Выделите строку или столбец с датами. Совет: выделить весь столбец можно кликом по первой ячейке и нажатием Ctrl + Shift + Стрелка вниз.

  2. Правой кнопкой мыши откройте контекстное меню и выберите Формат ячеек.

Таблица Excel с выделенной строкой дат и контекстное меню с указанием Формат ячеек

  1. В списке форматов выберите Дата и вариант формата 2012‑03‑14 (соответствует шаблону yyyy‑mm‑dd).

Окно Формат ячеек, выбран тип Дата и формат yyyy-mm-dd

  1. Чтобы завершить запись, на вкладке Разработчик нажмите Остановить запись.

Лента Excel с выделенной вкладкой Разработчик и красным полем вокруг опции Остановить запись макроса

Примечание: если вы допустили ошибку во время записи, остановите и запишите макрос заново либо исправьте результат в редакторе VBA.

Как запустить записанный макрос

  1. На вкладке Разработчик нажмите Макросы.

Лента Excel с выбранной вкладкой Разработчик и выделенной опцией Макросы

  1. В списке выберите нужный макрос и нажмите Выполнить.

Окно Запуск макроса с опцией Выполнить

Если вы задали сочетание клавиш при записи — используйте его для быстрого запуска макроса.

Мини‑методика: когда записывать, а когда писать код

  • Записывайте макросы, когда операция полностью воспроизводима через интерфейс (форматирование, сортировка, вставка формул).
  • Пишите код на VBA, когда нужно условное поведение, циклы, проверка ошибок или обработка больших объёмов данных.
  • Если макрос нужно распространять среди сотрудников — подумайте о цифровой подписи и тестировании на нескольких машинах.

Простейший сниппет VBA для установки формата дат

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

Sub FormatDatesToISO()
    On Error Resume Next
    Dim rng As Range
    If TypeName(Selection) = "Range" Then
        Set rng = Selection
    Else
        MsgBox "Выделите диапазон с датами перед запуском макроса."
        Exit Sub
    End If
    rng.NumberFormat = "yyyy-mm-dd"
    On Error GoTo 0
End Sub

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

SOP — стандартная операционная процедура для создания макроса

  1. Сделать резервную копию файла или работать с копией.
  2. Включить вкладку Разработчик.
  3. Нажать Запись макроса, задать имя и при необходимости сочетание клавиш.
  4. Выполнить нужные действия, медленно и последовательно.
  5. Нажать Остановить запись.
  6. Протестировать макрос на небольшом наборе данных.
  7. При положительном результате — прогнать на реальном файле и сохранить.
  8. Если макрос будет использоваться другими — подписать цифровым сертификатом и задокументировать назначение.

Рольовые чек‑листы

  • Аналитик:

    • Проверить корректность исходных данных.
    • Записать макрос на примере контрольного набора.
    • Протестировать на краевых случаях (пустые ячейки, текст вместо даты).
  • Power user (пользователь с продвинутыми навыками):

    • Оптимизировать макрос (замена селекций на явные диапазоны).
    • Добавить обработку ошибок.
    • Сохранить версионность макроса.
  • IT‑администратор:

    • Настроить политики безопасности макросов.
    • Проверить цифровую подпись макроса.
    • Обеспечить резервное копирование и аудит использования.

Критерии приёмки

  • Макрос корректно выполняет задачу на трёх разных небольших наборах данных.
  • Макрос не ломает формат данных, не удаляет столбцы и не изменяет формулы непреднамеренно.
  • Пользовательская документация присутствует (имя макроса, назначение, сочетание клавиш).
  • При ошибке макрос информирует пользователя и прекращает выполнение без потери данных.

Отладка и частые ошибки

  • Макрос повторяет ровно те действия, которые вы выполнили. Если вы ошиблись — макрос воспроизведёт ошибку.
  • Проблема: макрос использует абсолютные ссылки на ячейки. Решение: отредактируйте код и используйте относительные диапазоны или привязку к активной ячейке.
  • Проблема: макрос не запускается из‑за настроек безопасности. Решение: проверить Параметры центра управления безопасностью → Параметры макросов; разрешать макросы только из доверенных мест или подписанные.
  • Проблема: макрос применяет формат только к видимым ячейкам. Решение: убедитесь, что вы выделили весь диапазон или используйте код, который обрабатывает скрытые строки.

Когда запись макроса не подходит:

  • Нужна логика с условиями, циклами или обработкой внешних данных — пишите VBA вручную.
  • Нужно выполнять макросы автоматически по расписанию — лучше перемещать логику на сервер (Power Automate, скрипты) или использовать COM‑автоматизацию с внешним запуском.

Соглашения по именованию и быстрые советы

  • Имена макросов: использовать префиксы, например “fmt“ для форматирования, “imp“ для импорта.
  • Описание макроса: заполняйте поле «Описание» при записи — это помогает другим пользователям.
  • Сочетания клавиш: используйте Ctrl+Shift+буква, чтобы не перезаписать существующие сочетания Excel.
  • Всегда храните копию исходных данных перед массовым запуском.

Безопасность и конфиденциальность

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

Шаблон проверки перед запуском макроса

ШагЧто проверитьОжидаемый результат
1Резервная копия созданаФайл копии в той же папке с пометкой _backup
2Данные соответствуют ожидаемой структуреСтолбцы и заголовки совпадают
3Обработать тестовый наборРезультат соответствует ожидаемому формату
4Проверить журнал ошибокНет необработанных ошибок

Диаграмма принятия решения — записывать или писать код

flowchart TD
  A[Нужна ли простая последовательность действий?] -->|Да| B[Записать макрос]
  A -->|Нет| C[Нужна логика/условия]
  C --> D[Писать код на VBA]
  B --> E[Тестировать на данных]
  D --> E
  E --> F{Работает на всех тестах?}
  F -->|Да| G[Сохранить как .xlsm и документировать]
  F -->|Нет| H[Отладить/переписать]

Краткий словарь

  • Макрос — автоматизированная последовательность действий в Excel.
  • VBA — язык программирования для редактирования макросов.
  • Модуль — контейнер кода VBA внутри книги Excel.
  • Запись макроса — автоматическая генерация VBA путём выполнения действий.

Короткая сводка

Теперь вы знаете, как включить вкладку «Разработчик», записать простой макрос форматирования дат, запускать макросы и где найти типичные ошибки. Используйте SOP и чек‑листы перед внедрением в рабочие процессы, не забывайте про безопасность и цифровую подпись для общего пользования.

Важно: сохраняйте книги с макросами в формате .xlsm и проверяйте макросы на тестовых наборах перед применением к реальным данным.

Если хотите, могу подготовить готовый шаблон макроса под вашу конкретную таблицу или помочь адаптировать код под сложную логику.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Изменение размера фото в Adobe Premiere Pro
Видеомонтаж

Изменение размера фото в Adobe Premiere Pro

Nearby Sharing в Windows 10: быстрый обмен файлами
Windows

Nearby Sharing в Windows 10: быстрый обмен файлами

Медиа‑источник не отображается в OBS — как исправить
OBS

Медиа‑источник не отображается в OBS — как исправить

Поменять папку для скриншотов в One UI 5.1
Mobile

Поменять папку для скриншотов в One UI 5.1

Собрать мощный дешёвый ПК из серверных комплектующих
Сборка ПК

Собрать мощный дешёвый ПК из серверных комплектующих

BitTorrent на Android: как скачивать и делиться
Android.

BitTorrent на Android: как скачивать и делиться