Макросы в Excel: что это и зачем они нужны
Слово «макрос» часто пугает больше, чем должно: жёлтая панель с предупреждением при открытии файла заставляет насторожиться. На самом деле макрос — это просто способ научить Excel выполнять действия за вас. Разберёмся простыми словами, что это такое, зачем нужно и на что обратить внимание при включении.
Опубликовано
Что такое макрос простыми словами
Макрос — это записанная последовательность действий в Excel, которую программа умеет повторять сама, по нажатию кнопки. То, что вручную заняло бы десятки однотипных кликов — скопировать данные, расставить их по нужным ячейкам, посчитать итог, оформить таблицу — макрос делает за секунды. Технически макрос — это код на языке VBA (Visual Basic for Applications), который встроен прямо в Excel и не требует установки дополнительных программ.
Макрос можно и записать через встроенный «Рекордер макросов» (Excel буквально запоминает ваши клики), а можно написать вручную в редакторе VBA — так делаются более сложные сценарии, которые просто повторением кликов не воспроизвести.
Какие задачи решают макросы на практике
Несколько примеров того, что макрос умеет делать за пользователя:
- Заполнение шаблонов по номеру или дате — например, автоматическое заполнение путевого листа данными нужного месяца по одному клику;
- Сверка и перенос данных между листами — сверить кассу с выпиской и собрать итоговую таблицу без ручного копирования строк;
- Формирование готовых документов — по списку данных в таблице сформировать пачку однотипных документов на печать;
- Массовое форматирование и очистка — привести десятки строк к единому виду, убрать лишние пробелы, пересчитать формулы одной кнопкой.
В обычной жизни пользователь макроса не видит код и не должен в нём разбираться — достаточно нажать кнопку, оформленную как обычный элемент листа. Вся автоматизация происходит «под капотом».
Почему для макросов нужен файл .xlsm
У Excel-файлов несколько форматов, и они не случайно называются по-разному:
- .xlsx — обычная книга Excel без макросов. Даже если открыть такой файл и написать в нём код VBA, при сохранении Excel предупредит, что макросы будут потеряны, если оставить формат .xlsx;
- .xlsm — та же книга, но с явной поддержкой макросов. Расширение специально отличается от .xlsx, чтобы пользователь заранее видел: в этом файле может быть код, а не только формулы и данные.
Это сделано намеренно из соображений безопасности — чтобы файл с кодом внутри нельзя было случайно спутать с обычной таблицей.
Риски и безопасность
Раз макрос — это код, он умеет всё то же, что умеет любая программа: читать и изменять файлы, обращаться к другим приложениям, выполнять команды. В подавляющем большинстве случаев макросы в рабочих шаблонах делают ровно то, что заявлено — автоматизируют рутину. Но именно поэтому Excel относится к макросам из непроверенных источников настороженно:
- Файлы, скачанные из интернета, Windows помечает специальным признаком безопасности. Excel видит этот признак и по умолчанию отключает все макросы в файле при первом открытии, показывая жёлтую панель с предупреждением и кнопкой «Включить содержимое».
- Это предупреждение появляется для любого файла с макросами, независимо от того, кто его автор — это не индикатор проблемы именно с вашим файлом, а стандартное поведение Excel для всех файлов из внешних источников.
- Прежде чем нажимать «Включить содержимое», стоит убедиться в происхождении файла: он должен быть от автора или сайта, которым вы доверяете, а не случайным вложением из письма или сообщения.
Часто задаваемые вопросы
Макросы — это опасно?
Сам по себе макрос не опасен и не вредонослен — это просто код, который автоматизирует действия в Excel. Риск зависит не от технологии, а от источника файла: макрос может делать всё то же, что умеет VBA, включая потенциально нежелательные действия, поэтому включать его стоит только в файлах из источника, которому вы доверяете.
Почему Excel каждый раз спрашивает разрешение на макросы?
Файлы, скачанные из интернета, Windows помечает специальным признаком (Mark of the Web). Excel видит этот признак и по умолчанию блокирует макросы в таких файлах, показывая предупреждение — это стандартная защита, а не сигнал о том, что конкретный файл заражён.
В чём разница между .xls, .xlsx и .xlsm?
.xls — старый формат Excel до 2007 года, мог содержать макросы. .xlsx — современный формат без макросов: Excel не даст сохранить в него VBA-код. .xlsm — тот же современный формат, но с явной поддержкой макросов; расширение специально отличается от .xlsx, чтобы было видно, что в файле есть код.
Как понять, что файл с макросом безопасно открывать?
Ориентируйтесь на источник: файл должен быть от автора или организации, которым вы доверяете, а не случайное вложение из письма или сообщения. Если автор публикует контрольную сумму файла (SHA-256), полезно свериться с ней перед включением макросов — как показано в статье «как разблокировать и открыть файл».
Что дальше
Дальше — практика: как безопасно включить макросы в конкретном файле, разобрано в статье «Как включить макросы в Excel безопасно». Пример макроса, который формирует готовый PDF по списку данных, можно посмотреть в статье «Автоматическая печать конвертов в Excel на VBA и Python». А как макросы применяются для сверки и подготовки книги учёта УСН — в статье «Книга учёта доходов и расходов УСН в Excel».
Готовые инструменты с макросами
На сайте уже есть несколько бесплатных Excel-файлов с макросами, которые решают конкретные задачи бухгалтера и ИП — без необходимости писать код самостоятельно.