Макросы в Microsoft Excel — это мощный инструмент автоматизации, который позволяет записывать последовательности действий и запускать их одним кликом. Однако по умолчанию функция макросов отключена из-за потенциальных рисков безопасности. Если вы пытаетесь открыть файл с макросом (.xlsm) или создать свой скрипт на VBA, но ничего не работает — проблема именно в настройках безопасности.
В этой статье мы разберём, как включить макросы в разных версиях Excel (от 2010 до 2026), какие настройки безопасности существуют, и что делать, если макросы по-прежнему не запускаются. Особое внимание уделим типичным ошибкам, связанным с блокировкой макросов антивирусом или групповыми политиками в корпоративных сетях. Также вы узнаете, как временно разрешить макросы для одного файла и почему некоторые макросы могут работать нестабильно в Excel Online.
Почему макросы отключены по умолчанию?
Основная причина — безопасность. Макросы на языке VBA (Visual Basic for Applications) могут содержать вредоносный код, который:
- 📂 Удаляет или изменяет файлы на вашем компьютере;
- 🖥️ Запускает другие программы без вашего ведома;
- 🔄 Подключается к интернету и отправляет данные третьим лицам;
- 🔑 Крадёт пароли или личную информацию.
Поэтому Microsoft блокирует макросы в файлах, полученных из ненадёжных источников (например, из интернета или по электронной почте). Даже если вы доверяете файлу, Excel будет предупреждать вас о потенциальной опасности.
⚠️ Внимание: Никогда не включайте макросы в файлах, полученных от неизвестных отправителей. Даже если файл выглядит как обычная таблица, он может содержать скрытый вредоносный код.
С другой стороны, макросы крайне полезны для:
- ⚡ Автоматизации рутинных задач (например, ежемесячных отчётов);
- 📊 Создания пользовательских функций, которых нет в стандартном Excel;
- 🔄 Интеграции с другими программами (например, Word, Outlook, базы данных).
Как включить макросы в Excel 2010–2016
В этих версиях процесс активации макросов практически идентичен. Рассмотрим пошаговую инструкцию:
Откройте Excel и перейдите в
Файл → Параметры → Центр управления безопасностью → Параметры центра управления безопасностью.В левом меню выберите
Параметры макросов.Установите переключатель в одно из положений:
- Отключить все макросы без уведомления — макросы не будут работать вообще;
- Отключить макросы с уведомлением (рекомендуется) — Excel будет спрашивать разрешение при открытии файла с макросами;
- Включить все макросы (небезопасно) — макросы будут запускаться автоматически;
- Отключить все макросы, кроме цифровых подписей — будут работать только макросы с действующей цифровой подписью.
Нажмите OK и перезапустите Excel.
Если вы выбрали вариант с уведомлением, при открытии файла с макросами (.xlsm) над лентой появится жёлтая панель с предупреждением:
БЕЗОПАСНОСТЬ: Макросы отключены. Нажмите "Включить содержимое", чтобы запустить макросы.
Чтобы разрешить макросы для текущего файла, нажмите Включить содержимое. Если кнопки нет — проверьте, не заблокирован ли файл Windows Defender или антивирусом.
Убедиться, что файл получен из надёжного источника|
Проверить файл антивирусом|
Создать резервную копию данных|
Включить макросы только для текущего сеанса (если возможно)-->
Особенности включения макросов в Excel 2019 и 2026
В новых версиях Excel (2019, 2021, 2026 и Microsoft 365) процесс включения макросов остался преемственным, но появились дополнительные меры безопасности:
Перейдите в
Файл → Параметры → Центр управления безопасностью → Параметры центра управления безопасностью → Параметры макросов.В Excel 2026 добавлен новый режим: "Блокировать доступ к модели объекта VBA из офисных приложений". Если этот параметр включён, некоторые макросы могут не работать. Отключите его, если доверяете файлу.
В Microsoft 365 появилась функция "Песочница для макросов" (Macro Sandbox). Она позволяет запускать макросы в изолированной среде, не рискуя основной системой. Чтобы её включить, перейдите в
Параметры макросов → Дополнительно → Включить песочницу для макросов.- 📎 Сохраните файл на диск;
- 🔍 Проверьте его антивирусом;
- 📁 Переместите в доверенное расположение (например,
Документы); - 🔄 Перезапустите Excel и попробуйте открыть файл снова.
Также в новых версиях усилилась интеграция с Microsoft Defender for Office. Если файл с макросами пришёл по почте или был загружен из интернета, Excel может заблокировать его полностью, даже если вы включили макросы в настройках. В этом случае:
Что такое доверенное расположение?
Доверенные расположения — это папки, файлы из которых Excel открывает без дополнительных проверок. Чтобы добавить папку в доверенные:
- Перейдите в
Файл → Параметры → Центр управления безопасностью → Доверенные расположения. - Нажмите
Добавить новое расположение. - Укажите путь к папке (например,
C:\Макросы\). - Отметьте галочку
Доверять подпапкам, если нужно. - Нажмите
OK.
Файлы из этой папки будут открываться без предупреждений о макросах.
Как включить макросы для одного файла (временное решение)
Если вам нужно запустить макросы только в одном файле, но не хочется менять глобальные настройки безопасности, воспользуйтесь временным решением:
Откройте файл с макросами (
.xlsm).Если над лентой появится жёлтая панель с предупреждением, нажмите
Включить содержимое.Если панели нет, но макросы не работают:
- Нажмите
Файл → Сведения; - Рядом с надписью
БЕЗОПАСНОСТЬ: Макросы отключенынажмитеВключить содержимое; - Выберите
Включить всё содержимое(илиДополнительные параметры, если нужно более тонкая настройка).
- Нажмите
В Excel 2026 появилась возможность включить макросы только на текущий сеанс работы. Для этого при открытии файла выберите Включить содержимое только для этого сеанса. После закрытия файла макросы снова будут заблокированы.
Если кнопки Включить содержимое нет, возможно:
- 🔒 Файл заблокирован групповой политикой (в корпоративных сетях);
- 🛡️ Антивирус блокирует доступ к макросам;
- 📜 Файл повреждён или имеет неверный формат.
Решение проблем: макросы не включаются
Иногда даже после изменения настроек макросы отказываются работать. Рассмотрим типичные причины и решения:
| Проблема | Возможная причина | Решение |
|---|---|---|
| Нет кнопки "Включить содержимое" | Файл заблокирован групповой политикой | Обратитесь к администратору сети или попробуйте открыть файл на другом компьютере |
| Макросы работают, но с ошибками | Отсутствуют ссылки на библиотеки | Перейдите в Alt + F11 → Tools → References и подключите недостающие библиотеки |
| Excel зависает при запуске макроса | Слишком сложный или зацикленный код | Запустите отладку (F8 в редакторе VBA) или оптимизируйте код |
| Макросы не работают в Excel Online | Excel Online не поддерживает VBA | Используйте настольную версию Excel или Office Scripts (альтернатива макросам) |
Если макросы по-прежнему не работают, проверьте:
- 🔧 Настройки антивируса: некоторые программы (например, Kaspersky, ESET) блокируют выполнение VBA-скриптов. Добавьте Excel в исключения;
- 🔄 Обновления Office: устаревшая версия может содержать ошибки. Обновите Excel через
Файл → Учётная запись → Параметры обновления; - 📋 Целостность файла: попробуйте сохранить файл в формате
.xlsmзаново или экспортировать макросы в другой файл.
⚠️ Внимание: Если при запуске макроса Excel выдаёт ошибку"Не удалось запустить макрос"с кодом1004, скорее всего, проблема в синтаксисе VBA. Откройте редактор (Alt + F11) и проверьте код на наличие опечаток или отсутствующих ссылок.
Как защитить свои макросы от блокировки
Если вы разрабатываете макросы для других пользователей, следуйте этим рекомендациям, чтобы минимизировать проблемы с блокировкой:
Подписывайте макросы цифровой подписью. Это позволит Excel автоматически доверять вашему коду. Для создания подписи:
- Получите сертификат (например, через DigiCert или GlobalSign);
- В редакторе VBA перейдите в
Tools → Digital Signature; - Выберите сертификат и подпишите проект.
Используйте доверенные расположения. Попросите пользователей добавить папку с вашими файлами в доверенные (см. инструкцию выше).
Добавляйте инструкции для пользователей. В самом файле (.xlsm) создайте лист с пояснениями, как включить макросы.
Тестируйте макросы в разных версиях Excel. Некоторые функции VBA могут не работать в старых версиях (например, Excel 2010 не поддерживает новые объекты из Excel 2026).
Также полезно:
- 📦 Архивировать файлы с паролем перед отправкой по почте — это снизит риск блокировки антивирусом;
- 📋 Вести журнал изменений в коде макросов, чтобы быстро находить и исправлять ошибки;
- 🔄 Использовать альтернативы VBA для Excel Online (например, Office Scripts или Power Automate).
Альтернативы макросам: когда VBA не подходит
Если макросы заблокированы и вы не можете их включить (например, в Excel Online или на рабочем компьютере с жёсткими политиками безопасности), рассмотрите альтернативные инструменты автоматизации:
| Инструмент | Преимущества | Недостатки |
|---|---|---|
| Office Scripts (для Excel Online) | Работает в браузере, не требует VBA | Ограниченный функционал по сравнению с VBA |
| Power Query | Мощный инструмент для преобразования данных | Не подходит для автоматизации интерфейса |
| Power Automate (бывший Flow) | Интеграция с другими сервисами (SharePoint, Teams) | Сложная настройка для новичков |
Формулы массива и LAMBDA |
Не требуют макросов, работают во всех версиях | Ограничены вычислительными возможностями |
Например, если вам нужно автоматически обновлять данные из внешнего источника, вместо макроса можно использовать Power Query:
- Перейдите в
Данные → Получить данные → Из файла/базы данных; - Выберите источник (например,
Из текстового/CSV-файла); - Настройте преобразования в редакторе Power Query;
- Нажмите
Закрыть и загрузить.
Для более сложных задач (например, отправки писем из Excel) можно использовать Power Automate. Этот сервис позволяет создавать автоматизированные процессы без написания кода.
FAQ: Частые вопросы о макросах в Excel
Можно ли включить макросы в Excel Online?
Нет, Excel Online не поддерживает VBA-макросы. Вместо них используйте Office Scripts (доступны в Excel для веба для подписчиков Microsoft 365). Чтобы записать скрипт, перейдите в Автоматизация → Новый скрипт.
Почему после обновления Windows макросы перестали работать?
Вероятно, обновление сбросило настройки безопасности или обновило Microsoft Defender, который теперь блокирует VBA. Проверьте:
- Настройки
Центра управления безопасностьюв Excel; - Исключения в антивирусе;
- Групповые политики (если компьютер в домене).
Также попробуйте перерегистрировать библиотеки VBA через командную строку (regsvr32 vbe7.dll).
Как включить макросы на Mac?
В Excel для Mac процесс аналогичен:
- Откройте
Excel → Настройки → Безопасность и конфиденциальность → Безопасность макросов; - Выберите
Включить все макросы(не рекомендуется) илиОтключить макросы с уведомлением; - Перезапустите Excel.
Обратите внимание: некоторые макросы, написанные для Windows, могут не работать на Mac из-за различий в API.
Что делать, если макросы работают медленно?
Медленная работа макросов обычно связана с:
- Неоптимизированным кодом (например, циклы по всем ячейкам листа);
- Большим количеством данных;
- Отключённым
Application.ScreenUpdating(экран обновляется после каждой операции).
Чтобы ускорить макросы:
Sub ОптимизированныйМакрос()
Application.ScreenUpdating = False ' Отключаем обновление экрана
Application.Calculation = xlCalculationManual ' Отключаем автоматический пересчёт
' Ваш код здесь
Application.Calculation = xlCalculationAutomatic ' Включаем пересчёт обратно
Application.ScreenUpdating = True ' Включаем обновление экрана
End Sub
Можно ли запустить макросы в Google Таблицах?
Google Таблицы не поддерживают VBA, но есть альтернатива — Google Apps Script (скрипты на основе JavaScript). Чтобы создать скрипт:
- Откройте Google Таблицу;
- Перейдите в
Расширения → Apps Script; - Напишите код на JavaScript;
- Сохраните и запустите скрипт.
Пример простого скрипта для добавления строки:
function addRow() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
sheet.appendRow(["Новая строка", "Данные", "Пример"]);
}