X EXCEL PROБЛОГ · РАЗБОРЫ
A1
fx =ЕСЛИ(рутина_повторяется>1_раз_в_неделю; "записать макрос"; "делать руками")
A
B
C
D
E
F
G
H
Автоматизация · уровень: с нуля

Первый макрос без единой строчки кода

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

10 минвремя чтения
0строк кода вручную
1кнопка, которой запускается
3вещи, которые рекордер не умеет
B2 КОГДА ЭТО НУЖНО

Признак того, что вам нужен макрос

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

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

Ячейка B7 · подходит для записи

  • Формат выгрузки всегда одинаковый
  • Шаги не зависят от содержимого
  • Результат каждый раз ожидаемый
  • Вы можете выполнить это вслепую

Ячейка C7 · рекордер не потянет

  • ׫Если сумма больше нормы — подсветить»
  • ×Обработать все файлы в папке по кругу
  • ×Спросить у пользователя период
  • ×Продолжить работу, если возникла ошибка
=B7 → записываем | =C7 → придётся открыть редактор VBA
B9 ПОДГОТОВКА

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

По умолчанию она скрыта — Microsoft прячет её от случайных пользователей. Включается один раз и навсегда.

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

Записать макрос можно и без вкладки — кнопка есть в строке состояния внизу слева и на вкладке «Вид». Но редактор VBA (Alt+F11) и параметры безопасности живут именно в «Разработчике», так что включить проще сразу.

B14 ЗАПИСЬ

Записываем первый макрос: форматирование выгрузки

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

  1. Прорепетируйте молчаОдин раз пройдите всю последовательность руками и запомните её. Рекордер пишет всё, включая ваши ошибки и метания мышкой.
  2. Разработчик → Запись макросаИмя — без пробелов: Формат_отчёта. Пробелы Excel не примет.
  3. Задайте сочетание клавишНапример, Ctrl+Shift+F. Осторожно: обычный Ctrl+F перекроет стандартный поиск в этой книге.
  4. Выберите, где хранить«Эта книга» — макрос живёт в файле. «Личная книга макросов» — будет доступен во всех ваших файлах.
  5. Выполните действия и нажмите «Остановить запись»Кнопка там же, на вкладке, либо квадратик в строке состояния. Забыть остановить — классика.
⚠ САМАЯ ЧАСТАЯ ОШИБКА НОВИЧКА

Кнопка «Относительные ссылки» в группе «Код». Если она выключена (по умолчанию), макрос запомнит конкретные адреса: Range("A1:F1"). Запустите его на другом листе, где данные начинаются с C5, — он всё равно полезет в A1. Включите относительные ссылки, если действия должны выполняться от текущей ячейки.

B21 ЧТО ПОЛУЧИЛОСЬ

Загляните в код — это не страшно

Нажмите Alt+F11 → слева найдите Modules → Module1. Увидите примерно такое:

Так пишет рекордерModule1
Sub Формат_отчёта() Range("A1:F1").Select Selection.Font.Bold = True Selection.Interior.Color = 4235573 Cells.Select Cells.EntireColumn.AutoFit Range("A1").Select Selection.AutoFilter ActiveWindow.FreezePanes = True End Sub
Красным — мусор. Рекордер «кликает» мышкой в коде: сначала выделяет, потом действует. Работает, но медленно и хрупко.

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

То же самое, но по-человеческиModule1
Sub Формат_отчёта() With Range("A1:F1") .Font.Bold = True .Interior.Color = RGB(16, 124, 65) .Font.Color = RGB(255, 255, 255) End With Cells.EntireColumn.AutoFit Range("A1").AutoFilter ActiveWindow.FreezePanes = True End Sub
Половина строк исчезла, скорость выросла, а логика стала читаемой. Это и есть первый шаг от рекордера к VBA.
F19 · комментарий

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

Рекордер экономит минуты. VBA экономит дни.

В курсе Excel PRO проходим путь от записанного макроса до рабочего инструмента с циклами и обработкой ошибок — на своих задачах, а не на учебных примерах.

Открыть доступ на 48 часов
B29 ЗАПУСК

Три способа запустить — и один правильный

Способ
Когда использовать
1
Alt+F8 → выбрать → Выполнить
Годится для проверки. Для ежедневной работы слишком долго.
2
Сочетание клавиш
Быстро, но вы забудете его через месяц. И оно перекрывает стандартные комбинации.
3
Кнопка прямо на листе
так и надо Видно, понятно, работает у коллег без объяснений.

Как повесить макрос на кнопку

  1. Разработчик → Вставить → Кнопка (элемент управления формы)Нарисуйте её на листе в свободном месте рядом с данными.
  2. Excel сам предложит назначить макросВыберите из списка свой Формат_отчёта → ОК.
  3. Переименуйте кнопкуПравый клик → Изменить текст → «Привести отчёт в порядок». Название должно говорить, что произойдёт.
B35 СОХРАНЕНИЕ

Сохраните в .xlsm — иначе макрос исчезнет

Обычный формат .xlsx макросы не хранит. Excel предупредит один раз, вы нажмёте «Да» на автомате — и работа пропадёт.

Формат
Что с макросами
1
.xlsx
удалит Книга сохранится, код — нет.
2
.xlsm
сохранит Книга Excel с поддержкой макросов — ваш формат.
3
PERSONAL.XLSB
Личная книга макросов. Открывается скрыто вместе с Excel, макросы доступны в любом файле.
⚠ БЕЗОПАСНОСТЬ

Файл с макросами, скачанный из почты или интернета, откроется с жёлтым баннером «Защищённый просмотр» или с красным «Макросы заблокированы». Это не поломка — Windows помечает файлы из сети. Включайте содержимое только если понимаете, откуда файл: макрос — это полноценная программа с доступом к вашим файлам.

B42 ГРАНИЦЫ

Три вещи, которые рекордер не запишет никогда

Рекордер — это диктофон: он повторяет ровно то, что вы сделали, и ничего больше. Вот стена, в которую вы упрётесь.

  1. Условия«Если строка просрочена — покрасить красным». Рекордер записал бы покраску конкретной ячейки, а не правило. Нужен If ... Then.
  2. Циклы«Сделать это для каждого из 40 файлов в папке». Рекордер запишет обработку одного файла. Нужен For Each.
  3. Обработка ошибокНаткнулся на пустой лист — макрос падает с окном ошибки. Нужен On Error, чтобы отработать штатно.
A9 · комментарий

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

И ещё: часть задач, ради которых люди лезут в макросы, макросов вообще не требует. Склейка десятка файлов и регулярная чистка данных сегодня делаются в Power Query — без кода и надёжнее.

Лист · FAQ ЧАСТЫЕ ВОПРОСЫ

Разворачиваете строку — читаете ответ

1Макрос сработал не туда. Как отменить?
Никак — Ctrl+Z не отменяет действия макроса. Это главное отличие от обычной работы. Поэтому первое правило: тестируйте на копии файла. Второе: сохраняйтесь до запуска нового макроса.
2Как сделать макрос доступным во всех файлах?+
При записи выберите «Сохранить в: Личная книга макросов». Excel создаст скрытый файл PERSONAL.XLSB, который открывается вместе с программой. Все макросы оттуда будут доступны в любой книге — удобно для личных инструментов вроде чистки выгрузок.
3Коллега открыл файл — макрос не работает. Что не так?+
Три вероятные причины. Файл сохранён как .xlsx — кода в нём просто нет. Файл пришёл по почте и заблокирован политикой безопасности — нужно разрешить содержимое. Либо макрос лежит в вашей личной книге макросов, а не в самом файле — тогда у коллеги его физически нет.
4Макросы — это уже программирование? Мне надо учить VBA?+
Чтобы записать и запустить — нет, кода вы не пишете. Чтобы поправить пару строк в записанном макросе — достаточно понимать структуру, это пара часов. Полноценный VBA нужен, когда упрётесь в условия и циклы. Начинать с синтаксиса языка не нужно: начните с записи своей реальной рутины.

Двадцать минут в неделю —
это семнадцать часов в год.

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

Выбрать курс