KutoolsforOffice — Одно решение — пять мощных инструментов.Меньше усилий — больше результата.

Как удалить макросы из Excel (полное руководство)

АвторАманда ЛиДата изменения

Microsoft Excel предлагает мощную функцию — макросы, которые автоматизируют повторяющиеся задачи и выполняют операции, недоступные в стандартных средствах программы. Однако бывают случаи, когда такие макросы становятся избыточными или даже представляют потенциальную угрозу безопасности, особенно если вы передаёте свою книгу другим пользователям. В таких ситуациях важно уметь безопасно и эффективно удалять макросы. Это руководство поможет вам освоить различные способы удаления макросов из вашей рабочей книги Excel, чтобы вы всегда могли получить чистый и оптимизированный файл, когда это необходимо.


Что нужно знать перед удалением макросов в Excel

  • Чтобы удалить макросы из книги, поддерживающей макросы, сначала нажмите кнопку Включить содержимое в книге. Это обязательное условие для последующего удаления макросов.
  • Кнопка «Включить содержимое»
  • Примечание. Если вы не видите эту кнопку, это зелёный свет на удаление макросов. Её отсутствие может означать, что вы сами создали книгу с внедрёнными макросами и сохранили её. При повторном открытии этой книги на том же компьютере и при неизменных настройках Excel кнопка Включить содержимое зачастую не отображается, поскольку файл поступает из доверенного источника (вас) и находится в доверенном расположении (на вашем компьютере).

  • Помните: после удаления макроса восстановить его невозможно. Чтобы сохранить свою работу, обязательно создайте резервную копию книги до удаления любых макросов.

Удалить определённый макрос

Шаг 1: Откройте диалоговое окно «Макрос»

Перейдите на вкладку Разработчик и выберите Макросы, чтобы открыть диалоговое окно Макрос. (Если вкладка)Разработчик не отображается в вашем Excel, см. примечание после шагов.)

Кнопка «Макросы» на вкладке «Разработчик»

Советы:
  • Если вы используете Excel 2013 или более позднюю версию, кнопку Макросы также можно найти на вкладке Вид.
  • Поклонники горячих клавиш могут сразу нажать Alt + F8, чтобы открыть диалоговое окно Макрос.

Шаг 2: Выберите и удалите нужный макрос

  1. Разверните раскрывающееся меню «Макросы в» и выберите нужный источник, из которого требуется удалить макросы.
  2. Из списка макросов выберите тот, который вы хотите удалить.
  3. Нажмите Удалить.
  4. Диалоговое окно «Макрос»

Примечания:

  • Чтобы добавить вкладку Разработчикна Лента в Excel, выполните следующие действия:
    1. Щелкните правой кнопкой мыши в любом месте Лента и выберите Настроить Лента….
      Пункт «Настроить ленту» в контекстном меню
    2. В списке Основные Tabsв правой части появившегося окна установите флажок рядом с пунктом Разработчики нажмите ОК.
      Установите флажок «Разработчик»
  • Если вы хотите удалить несколько макросов, повторите описанный выше процесс для каждого из них отдельно. Инструкции по массовому удалению всех макросов — в следующих разделах.

Удалить все макросы из книги

Если вам нужно Удалить все макросы из книги, воспользуйтесь одним из двух способов:


Удалите все макросы из книги, сохранив файл в формате xlsx

Формат «Книга Excel (*.xlsx)» по своей природе не поддерживает макросы, поэтому при сохранении в этом формате все встроенные макросы будут автоматически удалены. Чтобы применить этот метод, выполните следующие действия:

  1. Перейдите в раздел Файл > Сохранить как.
  2. Разверните раскрывающееся меню «Тип файла» и выберите формат «Книга Excel (*.xlsx)».
    Совет: Вы можете указать новое имя для файла .xlsx в поле над раскрывающимся меню. Чтобы сохранить файл в другом месте, нажмите Обзор.
  3. Нажмите Сохранить.
    Окно «Сохранить как»

    Примечание: Интерфейс Сохранить как может отличаться в разных версиях Excel. Если вы не видите правую панель, как показано выше, где можно выбрать тип файла, просто нажмите Обзор и выберите формат «Книга Excel (*.xlsx)».

  4. В появившемся диалоговом окне выберите Да.
  5. Всплывающее окно с запросом

Результат

В результате будет сохранён файл в формате «.xlsx» без макросов. Этот файл получит имя исходного файла .xlsm и будет сохранён в том же месте.

Примечание: Данный метод не удаляет элементы UserForms, диалоговые листы Excel 5/95 и аналогичные компоненты. Чтобы удалить их, воспользуйтесь следующим методом.


Удалите все макросы из книги одним щелчком с помощью Kutools

Kutools для Excel — расширенная надстройка для Excel, которая позволяет пользователям одним щелчком мыши без усилий удалить все макросы, встроенные в книгу. Одним нажатием вы сможете удалить модули VBA, UserForms, диалоговые листы Excel 5/95 и листы макросов Excel 4 XLM.

После открытия книги, содержащей макросы, которые необходимо удалить, перейдите на вкладку Kutools и выберите Удалить > Удалить все макросы. И готово!

Выберите Kutools, затем «Удалить», затем «Удалить все макросы»

Примечание: Хотите воспользоваться этой функцией? Скачайте Kutools для Excel прямо сейчас! Помимо этого, Kutools предлагает более 300 других функций и предоставляет 30-дневную пробную версию. Не откладывайте — попробуйте уже сегодня!


Удаление всех макросов из нескольких книг

При необходимости удаления макросов из нескольких книг можно воспользоваться двумя подходами:


Удалить все макросы из книг в папке с помощью VBA

В этом разделе я покажу, как с помощью макроса VBA эффективно удалить макросы из всех книг в указанной папке.

Примечание:Перед удалением макросов с помощью макроса VBA необходимо:
  • Перейдите в меню Файл > Параметры > Центр управления безопасностью > Параметры центра управления безопасностью > Параметры макросов, затем выберите опцию «Доверять доступ к объектной модели проекта VBA».
  • Убедитесь, что ни одна из книг в указанной папке не открыта при выполнении этого кода VBA — запуск с открытыми книгами может привести к ошибкам.

Шаг 1: Создание нового модуля

  1. Нажмите Alt + F11, чтобы открыть редактор Visual Basic for Applications (VBA).
  2. Нажмите Вставка > Модуль, чтобы создать новый модуль.
  3. Нажмите «Вставка», затем «Модуль» в редакторе VBA

Шаг 2: Копирование кода VBA в окно модуля

Скопируйте приведённый ниже код VBA и вставьте его в открывшееся окно Модуль.

Sub RemoveMacrosFromWorkbooks()
' Update by ExtendOffice

    Dim wb As Workbook
    Dim FolderPath As String
    Dim filename As String
    Dim VBComp As Object
    Dim VBProj As Object

    With Application.FileDialog(msoFileDialogFolderPicker)
        .title = "Select a folder"
        .Show
        If .SelectedItems.Count = 0 Then
            MsgBox "No folder selected. The procedure will exit.", vbExclamation
            Exit Sub
        End If
        FolderPath = .SelectedItems(1)
    End With

    If Right(FolderPath, 1) <> "\" Then FolderPath = FolderPath + "\"

    filename = Dir(FolderPath & "*.xls*")
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    On Error Resume Next
    Do While filename <> ""
        Set wb = Workbooks.Open(FolderPath & filename)

        If wb.HasVBProject Then
            Set VBProj = wb.VBProject
            
            For Each VBComp In VBProj.VBComponents
                VBProj.VBComponents.Remove VBComp
            Next VBComp
        End If

        wb.Close SaveChanges:=True

        filename = Dir
    Loop
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
    MsgBox "Macros removal completed!", vbInformation

End Sub

Шаг 3: Запуск кода VBA

  1. В окне Модуль нажмите F5 или кнопку Кнопка «Выполнить», чтобы выполнить вставленный код.
  2. В появившемся окне Выберите папку выберите папку с книгами, из которых нужно удалить макросы, и нажмите ОК.
  3. Окно «Выбор папки»

Результат

После завершения обработки всех файлов Excel в выбранной папке и удаления из них макросов появится окно сообщения «Удаление макросов завершено!».

Сообщение «Удаление макросов завершено!»

Примечания:

  • Этот метод не удаляет UserForms, диалоговые листы Excel 5/95 и аналогичные элементы. Чтобы удалить их, воспользуйтесь следующим методом.
  • Включение опции «Доверять доступ к объектной модели проекта VBA» может создать угрозу безопасности. Активируйте эту опцию только на время выполнения кода и обязательно снимите флажок с пункта «Доверять доступ к объектной модели проекта VBA» сразу после его завершения.

Удалить все макросы из любых конкретных книг с помощью Kutools

Kutools для Excel предлагает удобный способ удалить все макросы из нескольких книг сразу. Если вы не знакомы с методами VBA или не уверены в их использовании, Kutools станет идеальной альтернативой. С помощью этого инструмента можно без усилий удалить модули VBA, UserForms, диалоговые листы Excel 5/95 и листы макросов Excel 4 XLM.

Примечание: Чтобы использовать эту функцию, необходимо разрешить доступ к объектной модели проекта VBA. В Excel перейдите в раздел Файл > Параметры > Центр управления безопасностью > Параметры Центра управления безопасностью > Параметры макросов, затем установите флажок напротив пункта «Доверять доступ к объектной модели проекта VBA».

После загрузки и установки Kutools для Excelвыполните следующие действия:

  1. Выберите Kutools > Удалить > Пакетное удаление всех макросов.
  2. Выберите Kutools, затем «Удалить», затем «Пакетное удаление всех макросов»
  3. В появившемся диалоговом окне Пакетное удаление всех макросов перечислены все открытые книги, из которых можно удалить макросы. Далее выполните следующие действия:
    1. Чтобы добавить дополнительные файлы для удаления макросов, нажмите кнопку Добавить и выберите либо Файл, либо Папка.
    2. Если есть книги, которые вы хотите исключить из процесса удаления макросов, нажмите кнопку Окно «Пакетное удаление всех макросов», чтобы удалить их.
    3. После того как вы добавили все нужные книги для удаления макросов в диалоговом окне, нажмите ОК.
    4. Всплывающее окно об успешном выполнении

Результат

Появится новое диалоговое окно с указанием количества книг, обработанных Kutools для удаления макросов. После нажатия кнопки ОК автоматически создаётся сводный файл с результатами.

Примечания:

  • Хотите воспользоваться этой функцией? Скачайте прямо сейчас Kutools для Excel! Вместе с ним Kutools предлагает более 300 других полезных функций. Бесплатная пробная версия на 30 дней — нет причин откладывать. Попробуйте уже сегодня!
  • Активация параметра «Доверять доступ к объектной модели проекта VBA» может представлять угрозу безопасности. Включайте этот параметр только на время выполнения функции. Обязательно снимите флажок с параметра «Доверять доступ к объектной модели проекта VBA» сразу после завершения работы функции.

Выше представлена вся необходимая информация об удалении макросов в Excel. Надеемся, что это руководство окажется для вас полезным! Хотите освоить ещё больше советов и приёмов работы в Excel? Нажмите здесь, чтобы открыть нашу обширную коллекцию из тысяч обучающих материалов.