Как включить макросы в Excel
Где лежит переключатель, что делать с красной панелью «источник файла не является надёжным» и почему включать макросы в присланном файле опаснее, чем кажется.
Коротко
Быстрый ответ на самый частый случай. Вы открыли присланный файл, сверху появилась жёлтая полоса «Предупреждение системы безопасности. Запуск макросов отключён» — нажмите в ней «Включить содержимое». Макросы заработают в этом файле, и Excel запомнит его как доверенный: во второй раз панели не будет.
Если полоса не жёлтая, а красная и кнопки «Включить содержимое» в ней нет, — это другой случай. Так Excel ведёт себя с файлами, скачанными из интернета или полученными почтой: макросы в них заблокированы целиком, а не отключены. Разблокировка делается не в Excel, а в свойствах файла — шаг 4 инструкции ниже.
Постоянный переключатель живёт в Файл → Параметры → Центр управления безопасностью → Параметры центра управления безопасностью → Параметры макросов. Вариантов четыре: отключить без уведомления; отключить с уведомлением (так стоит по умолчанию и так правильно); разрешить только макросы с цифровой подписью; включить все (рядом честно написано «не рекомендуется»).
Есть быстрая проверка, которая экономит время: посмотрите на расширение файла. Формат .xlsx макросы не хранит вообще — в таком файле их нет по определению, и включать нечего. Макросы живут только в .xlsm, .xlsb, .xltm и надстройках .xlam.
Про наши файлы: во всех шаблонах ТАБЛЫ макросов нет. Все они в формате .xlsx, всё считается обычными формулами, и предупреждения безопасности вы на них не увидите. Это не экономия и не принцип ради принципа: файл с макросом не открывается в Google Таблицах, блокируется почтой и корпоративными политиками — то есть не работает ровно там, где человеку нужнее всего.
То же самое формулой в Excel
=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(A2;СИМВОЛ(160);" ")) — чистка выгрузки от лишних и неразрывных пробелов — типичная задача первого макроса=СУММЕСЛИМН($D$2:$D$500;$B$2:$B$500;$G2;$C$2:$C$500;H$1) — сводка по двум условиям вместо макроса, который обходит строки циклом=ЕСЛИОШИБКА(ВПР($A2;Справочник!$A:$D;3;ЛОЖЬ);"нет в справочнике") — подстановка из справочника: макрос для этого не нужен=ЕСЛИ(СЧЁТЕСЛИ($A$2:A2;A2)=1;"первый";"дубль") — пометка повторов — то, ради чего чаще всего просят «написать макрос»=ТЕКСТ(A2;"ДД.ММ.ГГГГ")&" — "&B2 — сборка строки для печати из даты и текстаПошагово
- Посмотрите расширение файла. Если это
.xlsx, макросов в нём нет и включать нечего: причина в другом. Макросы бывают в.xlsm,.xlsb,.xltmи.xlam. - Жёлтая панель — нажмите «Включить содержимое». Это разовое решение по одному файлу, и оно правильнее, чем менять общую настройку. Excel запомнит файл доверенным и больше спрашивать не будет — поэтому нажимать стоит, только если вы понимаете, откуда файл.
- Панели нет вовсе. Откройте Файл → Параметры → Центр управления безопасностью → Параметры центра управления безопасностью → Параметры макросов и убедитесь, что стоит «Отключить все макросы с уведомлением». При варианте «без уведомления» Excel молча ничего не запускает и ни о чём не сообщает — отсюда ощущение, что файл сломан.
- Красная панель «Microsoft заблокировала запуск макросов». Так помечаются файлы из интернета и почты. Закройте файл, найдите его в проводнике, правый клик → Свойства, внизу вкладки «Общие» поставьте галочку «Разблокировать» и нажмите ОК. Откройте файл заново — появится обычная жёлтая панель.
- Если файлов много и они рабочие, вместо включения всех макросов заведите надёжное расположение: та же вкладка центра управления безопасностью → Надёжные расположения → «Добавить новое расположение». Макросы будут работать в этой папке и только в ней — это заметно безопаснее переключателя «включить все».
- Посмотреть, что именно вам прислали: Alt+F11 открывает редактор Visual Basic, слева в дереве видны модули книги. Alt+F8 — список макросов с именами. Прочитать код полезно даже без знания VBA: строки вроде
Kill,Shellили обращения к интернету видны невооружённым глазом.
Где обычно ломается
Макрос — это не «настройка файла», а программа, которая запускается на вашем компьютере с вашими правами. Она может читать и удалять файлы, лезть в сеть, рассылать письма от вашего имени. Именно поэтому документы с макросами десятилетиями остаются одним из главных способов заражения в бухгалтериях: «акт сверки», «счёт на оплату», «требование налоговой» — и жёлтая панель, на которую человек нажимает не глядя.
- Правило, которое стоит соблюдать. Включайте макросы, только если вы ждали этот файл от этого отправителя. Не «знаете отправителя», а именно ждали: почтовый адрес подделывается, а переписка коллеги у злоумышленника могла оказаться целиком.
- «Включить все макросы» — плохая настройка. Она снимает предупреждения не с одного файла, а со всех будущих, включая тот, который придёт через полгода. Правильный порядок — оставить уведомления и решать по каждому файлу отдельно, а для рабочих папок завести надёжное расположение.
- Разблокировка через свойства файла — не формальность. Отметка «файл получен с другого компьютера» ставится Windows и означает ровно то, что написано. Снимая её, вы подтверждаете, что доверяете источнику.
- Макрос не переживает Google Таблицы. Файл
.xlsmтам откроется, таблица и формулы будут на месте, а код VBA просто не выполнится: в Google Таблицах другой язык. Файл, который должен работать у всех, макросов содержать не должен. - Личная книга макросов. Если макрос запускается сам при старте Excel, ищите файл
PERSONAL.XLSBв папкеXLSTART: всё, что там лежит, открывается вместе с программой. Это же место стоит проверить, если Excel стал странно себя вести после чужого файла. - «Макрос не запускается» бывает и без всякой блокировки. Файл сохранён как
.xlsx— при таком сохранении Excel предупреждает, что код будет потерян, и код действительно теряется. Проверьте расширение прежде, чем искать проблему в настройках.