ГлавнаяКак сделать в Excel → Как включить макросы

Как включить макросы в 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 — сборка строки для печати из даты и текста

Пошагово

  1. Посмотрите расширение файла. Если это .xlsx, макросов в нём нет и включать нечего: причина в другом. Макросы бывают в .xlsm, .xlsb, .xltm и .xlam.
  2. Жёлтая панель — нажмите «Включить содержимое». Это разовое решение по одному файлу, и оно правильнее, чем менять общую настройку. Excel запомнит файл доверенным и больше спрашивать не будет — поэтому нажимать стоит, только если вы понимаете, откуда файл.
  3. Панели нет вовсе. Откройте Файл → Параметры → Центр управления безопасностью → Параметры центра управления безопасностью → Параметры макросов и убедитесь, что стоит «Отключить все макросы с уведомлением». При варианте «без уведомления» Excel молча ничего не запускает и ни о чём не сообщает — отсюда ощущение, что файл сломан.
  4. Красная панель «Microsoft заблокировала запуск макросов». Так помечаются файлы из интернета и почты. Закройте файл, найдите его в проводнике, правый клик → Свойства, внизу вкладки «Общие» поставьте галочку «Разблокировать» и нажмите ОК. Откройте файл заново — появится обычная жёлтая панель.
  5. Если файлов много и они рабочие, вместо включения всех макросов заведите надёжное расположение: та же вкладка центра управления безопасностью → Надёжные расположения → «Добавить новое расположение». Макросы будут работать в этой папке и только в ней — это заметно безопаснее переключателя «включить все».
  6. Посмотреть, что именно вам прислали: Alt+F11 открывает редактор Visual Basic, слева в дереве видны модули книги. Alt+F8 — список макросов с именами. Прочитать код полезно даже без знания VBA: строки вроде Kill, Shell или обращения к интернету видны невооружённым глазом.

Где обычно ломается

Макрос — это не «настройка файла», а программа, которая запускается на вашем компьютере с вашими правами. Она может читать и удалять файлы, лезть в сеть, рассылать письма от вашего имени. Именно поэтому документы с макросами десятилетиями остаются одним из главных способов заражения в бухгалтериях: «акт сверки», «счёт на оплату», «требование налоговой» — и жёлтая панель, на которую человек нажимает не глядя.

Частые вопросы

Как в Excel включить макросы?
Разово и по одному файлу — кнопкой «Включить содержимое» в жёлтой панели, которая появляется сверху при открытии. Постоянная настройка лежит в Файл → Параметры → Центр управления безопасностью → Параметры центра управления безопасностью → Параметры макросов. Разумный выбор там — «Отключить все макросы с уведомлением»: Excel продолжит спрашивать, и решение останется за вами по каждому файлу.
Что значит запуск макросов отключён?
Что в файле есть код, Excel его нашёл и не выполнил. Это состояние по умолчанию, а не поломка. Нажмите «Включить содержимое» в жёлтой панели, если вы понимаете, откуда файл. Если панели нет, а макросы не работают, в параметрах макросов выбран вариант «отключить без уведомления» — Excel в этом случае молчит.
Как разблокировать запуск макросов в Excel?
Если панель красная и написано, что источник файла не является надёжным, дело не в настройках Excel, а в метке Windows на файле. Закройте файл, правый клик по нему в проводнике → Свойства → внизу вкладки «Общие» галочка «Разблокировать» → ОК. После этого файл откроется с обычной жёлтой панелью, и макросы включатся кнопкой.
Почему не запускается макрос в Excel?
Четыре причины по частоте. Файл сохранён в формате .xlsx — код при таком сохранении удаляется. Макросы отключены без уведомления, и Excel об этом не сообщает. Файл помечен как полученный из интернета — нужна разблокировка в свойствах файла. Или макрос написан для другой версии и падает с ошибкой: тогда откройте Alt+F11 и посмотрите, на какой строке он останавливается.
Где хранятся макросы Excel?
Внутри самой книги, если она сохранена как .xlsm, .xlsb или .xltm — формат .xlsx макросы не хранит. Макросы, доступные во всех файлах, лежат в личной книге PERSONAL.XLSB в папке XLSTART: она открывается скрытой при каждом запуске Excel. Надстройки — это отдельные файлы .xlam, подключённые в параметрах.
Как выключить макросы?
Файл → Параметры → Центр управления безопасностью → Параметры центра управления безопасностью → Параметры макросов → «Отключить все макросы с уведомлением». Отдельно стоит очистить список доверенных документов там же, в разделе «Надёжные документы»: файл, которому вы однажды разрешили макросы, иначе останется доверенным.
Что такое макросы в Excel простыми словами?
Записанная последовательность действий, которая выполняется одной командой. Технически это программа на языке Visual Basic for Applications, и в этом вся разница с формулой: формула считает значение в своей ячейке, а макрос делает на компьютере всё, что умеет программа. Поэтому Excel и спрашивает разрешение — и поэтому в шаблонах ТАБЛЫ макросов нет: всё, что нужно, делается формулами.

Связанные страницы

Как сделать в Excel
Почему Excel не считает формулу
Как сделать в Excel
Как сделать шаблон в Excel
Как сделать в Excel
Шпаргалка по формулам
Скопировано