как удалить макросы в excel

Удаление макросов в Excel — это важный шаг для повышения безопасности и управления содержимым файлов. Макросы в Excel обычно пишутся на языке VBA (Visual Basic for Applications) и могут быть как полезными, так и потенциально опасными (например, содержать вредоносный код).

Вот максимально подробное пошаговое руководство по удалению макросов из Excel-файла:


🔹 Шаг 1: Определите, содержит ли файл макросы

Макросы обычно находятся в следующих типах файлов:

  • .xlsm — файл Excel с поддержкой макросов.

  • .xlsb — двоичный формат Excel, тоже может содержать макросы.

  • .xltm — шаблон Excel с поддержкой макросов.

  • .xls — старый формат Excel 97-2003, тоже может содержать макросы.

Если файл имеет расширение .xlsx, он не может содержать макросы. Это означает, что макросы либо уже были удалены, либо никогда не были сохранены в этом файле.


🔹 Шаг 2: Откройте редактор VBA (Visual Basic Editor)

  1. Откройте файл Excel.

  2. Нажмите Alt + F11 — откроется окно Редактора Visual Basic.

  3. В левой части редактора вы увидите дерево объектов (Project Explorer). Если оно не видно:

    • Нажмите Ctrl + R или перейдите в меню View → Project Explorer.


🔹 Шаг 3: Удалите макросы вручную

В Project Explorer отображаются все модули и объекты, содержащие макросы.

Вам нужно будет удалить следующие элементы:

🔸 1. Модули (Modules)

Обычно содержат макросы, написанные пользователем.

  • Разверните свой проект (обычно называется VBAProject (Имя_файла)).

  • Найдите папку Modules.

  • Правый клик на модуле (Module1, Module2, и т.п.) → Remove Module1…

  • Появится запрос: «Export before removing?» (Экспортировать перед удалением?) — можно выбрать No, если экспорт не нужен.

🔸 2. Form (если есть)

Если использовались пользовательские формы:

  • Найдите раздел Forms → правый клик по форме → Remove UserForm1…

🔸 3. Код в объектах листов и книги

Каждый лист и сам объект книги могут содержать макросы.

  • Разверните раздел Microsoft Excel Objects.

  • Дважды кликните на ThisWorkbook и каждый SheetX (например, Sheet1, Sheet2).

  • В открывшемся окне проверьте наличие кода. Если есть код:

    • Выделите его и удалите.

    • Повторите для всех листов.


🔹 Шаг 4: Сохраните файл без поддержки макросов

После удаления всех модулей и кода:

  1. Нажмите Ctrl + S для сохранения или выберите Файл → Сохранить как…

  2. В открывшемся окне выберите:

    • Тип файла: Excel Workbook (*.xlsx) — этот формат не поддерживает макросы.

  3. Укажите новое имя (чтобы не перезаписывать исходный файл, если нужно сохранить копию).

  4. Нажмите Сохранить.

После этого:

  • Если в файле всё ещё есть макросы, Excel предупредит, что они будут удалены. Подтвердите это.

  • Если предупреждения нет, значит, макросов больше нет.


🔹 Шаг 5 (по желанию): Убедитесь, что макросы действительно удалены

  1. Закройте файл и снова откройте его.

  2. Нажмите Alt + F11 — редактор VBA должен быть пуст (или с пустыми объектами без кода).

  3. Также можно попробовать экспортировать файл в .zip (см. ниже).


🔹 Дополнительный способ (через переименование файла в .zip)

Это более «технический» способ:

  1. Закройте файл Excel.

  2. Переименуйте файл, заменив расширение .xlsm на .zip.

    • Например, Отчет.xlsmОтчет.zip

  3. Откройте архив — внутри будет структура XML-файлов.

  4. Перейдите в папку xl/vbaProject.bin — если этот файл есть, значит в документе есть VBA-код (макросы).

  5. Если удалить макросы через редактор и пересохранить как .xlsx, этот файл исчезнет.


🔹 Как отключить макросы без удаления?

Если вы не хотите удалять макросы, а просто запретить их выполнение, то:

  1. В Excel: Файл → Параметры → Центр управления безопасностью → Параметры центра управления безопасностью…

  2. Перейдите в раздел Параметры макросов.

  3. Выберите:

    • Отключить все макросы без уведомления — полный запрет.

    • Отключить все макросы с уведомлением — разрешит включить их вручную при открытии.


✅ Подытожим

ДействиеГде делать
Удалить модули макросовВ редакторе VBA (Alt + F11)
Удалить код из листов/книгиВ объектах листов и ThisWorkbook
Удалить пользовательские формыВ разделе Forms
Сохранить файл без макросовСохранить как .xlsx
Проверить наличие кодаПовторно открыть VBA редактор

Если хочешь, могу предложить макрос, который автоматически удалит все модули — скажи, нужно ли.

Scroll to Top

Карта сайта