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

Как записать макрос в Excel — пошаговое руководство

8 min read Excel Обновлено 31 Dec 2025
Запись макроса в Excel — быстро и просто
Запись макроса в Excel — быстро и просто

логотип Excel с иконками шестерёнок на фоне таблицы

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

В этом руководстве вы найдёте подробные шаги по записи макроса и полезные дополнения: советы по безопасности, шаблон процесса, критерии приёмки, тесты и примеры кода VBA.

Что такое макрос и зачем он нужен

Определение: макрос — это последовательность действий, записанная в Excel и выполняемая автоматически. Одной строкой: макросы ускоряют повторяющуюся работу.

Преимущества:

  • Экономия времени при рутинных операциях.
  • Снижение ошибок ручного ввода при повторных процедурах.
  • Возможность создания простых форм и автоматической отправки писем (при наличии интеграций).

Ограничения:

  • Записанные макросы воспроизводят клики и ввод; сложную логику удобнее писать вручную в VBA.
  • Макросы могут представлять риск безопасности, если код получен из ненадёжного источника.

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

Ниже — пошаговая инструкция. Заголовки соответствуют действиям в интерфейсе Excel.

1. Включите вкладку Разработчик

Вкладка «Разработчик» нужна для записи и редактирования макросов. Она не включена по умолчанию.

Откройте File > Options > Customize Ribbon. В колонке Customize the Ribbon выберите Main Tabs, поставьте галочку у Developer и нажмите OK.

Настройка ленты Excel

Вкладка появится в ленте и останется включённой, пока вы не отключите её таким же способом.

2. Нажмите Record Macro

Перейдите на вкладку Разработчик. В группе Code нажмите Record Macro. Откроется диалоговое окно, где нужно ввести параметры макроса.

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

Альтернатива: нажмите сочетание клавиш Alt + T + M + R.

3. Введите имя макроса

Поле Macro name должно содержать имя без пробелов. Первым символом должна быть буква; далее допускаются буквы, цифры и подчёркивания. Не используйте имена, совпадающие с адресами ячеек (например, A1).

Диалог макросов Excel

Правила синтаксиса имени макроса

Совет: давайте осмысленные имена, например CleanUp_Budget или ПреобразоватьДаты.

4. Назначьте сочетание клавиш

В поле Shortcut key нажмите желаемую букву. Обычно сочетание формируется с Ctrl или Ctrl+Shift.

Назначение сочетания клавиш макросу

Важно: назначенное сочетание заменяет встроенные сочетания Excel. Выберите комбинацию с Shift (Ctrl+Shift+<буква>), чтобы избежать конфликтов с системными горячими клавишами.

5. Выберите, где хранить макрос

В выпадающем списке Store macro in выберите место хранения:

  • Personal Macro Workbook — макрос доступен во всех книгах. Сохраняется в скрытом PERSONAL.XLSB.
  • New Workbook — макрос будет доступен в новой книге, которую вы создадите в этой сессии.
  • This Workbook — макрос останется только в текущей книге.

Выбор места хранения макроса

Выбор зависит от потребности: если автоматизация нужна во многих файлах — используйте Personal Macro Workbook.

6. Добавьте описание

Поле Description полезно для пояснения назначения макроса. Описание не обязательно, но помогает в будущем понять назначение и ограничения макроса.

Ввод описания макроса

7. Нажмите OK и начните запись

После подтверждения начнётся запись. С этого момента Excel фиксирует ваши действия.

8. Выполните действия, которые нужно автоматизировать

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

Параметр Use Relative References на вкладке Разработчик переключает запись в относительные или абсолютные ссылки. Если включён режим относительных ссылок, действия записываются относительно начальной клетки. Это удобно, когда макрос должен работать из разных позиций таблицы.

Опция относительных ссылок

Пример: при записи перехода от A1 к A3 с относительными ссылками выполнение макроса из J6 приведёт курсор в J8.

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

9. Остановите запись

Вернитесь на вкладку Разработчик и нажмите Stop Recording в группе Code.

Остановить запись макроса

Альтернатива: снова используйте Alt + T + M + R. Макрос успешно сохранён.

Как запускать, редактировать и удалять макросы

Откройте окно Macros (вкладка Разработчик → Macros или Alt + F8). Здесь можно запустить, отредактировать или удалить макрос.

Если при редактировании появляется ошибка Cannot edit a macro on a hidden workbook, значит макрос хранится в PERSONAL.XLSB — скрытой личной книге.

Ошибка редактирования макроса в скрытой книге

Чтобы открыть PERSONAL.XLSB: вкладка View → Unhide → выберите PERSONAL.XLSB → OK.

Показать окна в Excel

После этого вы сможете редактировать или удалять макрос.

Пример простого макроса в VBA

Ниже минимальный пример макроса, который выделяет заголовки в первой строке и делает их полужирными:

Sub MakeHeadersBold()
    Rows(1).Font.Bold = True
End Sub

Вставьте этот код через Visual Basic Editor (Alt + F11) в модуль книги и сохраните.

Безопасность и разрешения

Важно: макросы могут запускать произвольный код. Открывайте файлы с макросами только если доверяете источнику.

Рекомендации:

  • В настройках макросов (File → Options → Trust Center → Trust Center Settings → Macro Settings) выбирайте опцию, которая подходит вашей политике безопасности. Для большинства пользователей безопаснее оставлять макросы отключёнными и разрешать запуск только для доверенных документов.
  • Подписывайте макросы цифровой подписью в корпоративной среде.
  • Не храните пароли в коде макроса.

Когда макросы не подходят

Контрпримеры:

  • Для сложной логики и большого объёма данных запись макроса создаст громоздкий и неэффективный код. В таких случаях лучше писать чистый VBA или использовать Power Query / Power Automate.
  • Если нужно многопользовательское управление версиями и журнал действий, макросы в личной книге неудобны. Рассмотрите хранение кода в репозитории или перенос логики в серверную систему.

Альтернативные подходы

  • Power Query — для трансформации и объединения данных без макросов.
  • Power Automate — для автоматизации связей между приложениями, включая отправку писем и загрузку в облако.
  • Office Scripts (в браузерном Excel Online) — современная альтернатива для автоматизации в облаке.

Чек-листы по ролям

Чек-лист для пользователя-аналитика:

  • Определить повторяющиеся шаги.
  • Проверить, можно ли их реализовать через Power Query.
  • Записать макрос с относительными ссылками (если нужно применять к разным участкам).
  • Тестировать на копии данных.

Чек-лист для администратора IT:

  • Установить политику макросов в Trust Center.
  • Настроить цифровые подписи для корпоративных макросов.
  • Обеспечить резервное копирование PERSONAL.XLSB.

Чек-лист для менеджера качества:

  • Проверить соответствие макроса требованиям.
  • Оценить возможные ошибки при некорректных входных данных.
  • Утвердить критерии приёмки.

Процесс создания макроса: мини-методология

  1. Анализ: опишите шаги и ожидаемый результат.
  2. Запись: используйте режим записи макроса, выбрав правильное место хранения.
  3. Рефакторинг: откройте код в VBA Editor и оптимизируйте (удалите лишние переходы или использование абсолютных ссылок).
  4. Тестирование: выполните тест-кейсы на нескольких наборах данных.
  5. Документирование: заполните описание и добавьте комментарии в код.
  6. Развертывание: распределите макрос по нужным пользователям и настройте бэкап.

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

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

Тестовые случаи и приёмочные тесты

  1. Базовый набор: исходная таблица с ожидаемой структурой — макрос выполняется без ошибок.
  2. Случай с пустыми строками: макрос корректно пропускает пустые строки или обрабатывает их по правилам.
  3. Случай с дополнительными столбцами: макрос не затирает данные вне области обработки.
  4. Негативный тест: повреждённые данные — макрос возвращает понятное сообщение об ошибке.

Критерий успеха: все тесты проходят без ручной корректировки данных.

Безопасное хранение и бэкап

  • Personal Macro Workbook хранится в %appdata% для Windows; регулярно делайте резервную копию PERSONAL.XLSB.
  • Храните критичные макросы в централизации (репозиторий), а не в локальных книгах пользователей.

Шаблон SOP для создания макроса

  1. Создать копию рабочей книги для разработки.
  2. Включить вкладку Разработчик.
  3. Записать макрос, сохранив в This Workbook или Personal Macro Workbook в зависимости от назначения.
  4. Открыть код в VBA Editor, оптимизировать и добавить комментарии.
  5. Создать тестовый набор данных и выполнить тесты.
  6. Обновить документацию и описание макроса.
  7. Подписать макрос и распространить по инструкциям IT.
  8. Сделать бэкап и записать версию.

Как отлаживать макросы

  • Используйте точки останова в редакторе VBA и шаг за шагом выполняйте код (F8).
  • Логируйте ключевые переменные: Debug.Print или запись в отдельный лист логов.
  • Проверяйте обработку ошибок: включите конструкцию On Error и аккуратно обрабатывайте исключения.

Советы по оптимизации кода после записи

  • Удаляйте неиспользуемые Select и Activate. Прямое обращение к объектам быстрее и надёжнее, например: Worksheets(“Лист1”).Range(“A1”).Value = 1 вместо Selection.Value = 1.
  • Прячьте экран обновления: Application.ScreenUpdating = False в начале и True в конце.
  • Отключайте автоматическую перерасчётность, если код выполняет много операций: Application.Calculation = xlCalculationManual и восстановите значение в конце.

Пример улучшенного фрагмента VBA

Sub CleanAndFormat()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Worksheets("Data")
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    On Error GoTo Cleanup

    ws.Range("A1:Z1000").RemoveDuplicates Columns:=Array(1,2), Header:=xlYes
    ws.Range("A1:Z1").Font.Bold = True

Cleanup:
    Application.Calculation = xlCalculationAutomatic
    Application.ScreenUpdating = True
    If Err.Number <> 0 Then MsgBox "Ошибка: " & Err.Description
End Sub

Совместимость и миграция

  • Макросы VBA работают в настольных версиях Excel для Windows и Mac (с частичными отличиями). Excel Online не поддерживает традиционные макросы VBA — используйте Office Scripts для браузерной автоматизации.
  • При переносе на другую версию Excel проверьте совместимость API и поведение листов.

Риски и меры по снижению

Риски:

  • Выполнение вредоносного кода при открытии файлов с макросами.
  • Потеря данных при некорректной автоматизации.

Митигаторы:

  • Политика открытия макросов и цифровые подписи.
  • Тестирование макросов на резервных копиях.
  • Ограничение доступа к PERSONAL.XLSB и корпоративным макросам.

Краткий глоссарий

  • VBA — Visual Basic for Applications, язык макросов Excel.
  • PERSONAL.XLSB — скрытая рабочая книга, где хранятся личные макросы.
  • Relative References — запись действий относительно текущей позиции.

Итог и что дальше

Макросы — простой способ автоматизировать рутинные действия в Excel. Начните с записи простых задач, затем оптимизируйте код в VBA. Для корпоративных сценариев внедрите политику безопасности, цифровую подпись и процесс контроля версий.

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

Сводка:

  • Включите вкладку Разработчик.
  • Запишите макрос, присвойте имя и место хранения.
  • Тестируйте, документируйте и подписывайте важные макросы.

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

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

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

Анализ использования диска в Ubuntu с ncdu
Ubuntu

Анализ использования диска в Ubuntu с ncdu

Отключить уведомления на Android — режим Не беспокоить
Mobile

Отключить уведомления на Android — режим Не беспокоить

Как безопасно купить б/у MacBook
Руководство

Как безопасно купить б/у MacBook

Планшет Android как дисплей для Raspberry Pi
Raspberry Pi

Планшет Android как дисплей для Raspberry Pi

Focus assist в Windows 11 — включение и настройка
Windows

Focus assist в Windows 11 — включение и настройка

Не приходят уведомления Facebook — исправить на iPhone/Android
Мобильные

Не приходят уведомления Facebook — исправить на iPhone/Android