KutoolsforOffice — 一套方案,五大工具。事半功倍。

如何从 Excel 中删除宏(完整指南)

作者Amanda Li修改日期

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 文件的名称,并保存在同一位置。

注意:此方法不会删除 UserForm、Excel 5/95 对话框工作表等类似元素。如需删除这些内容,请参阅下一种方法。


使用 Kutools 提供的一键选项,从工作簿中删除所有宏

Kutools for Excel 是一款高级 Excel 加载项,可一键清除工作簿中的所有嵌入宏——包括 VBA 模块、UserForm、Excel 5/95 对话框工作表以及 Excel 4 XLM 宏工作表,操作简单,高效省时!

打开包含要删除宏的工作簿后,请切换到 Kutools 选项卡,然后选择删除 > 清除所有宏。大功告成!

选择 Kutools loading=删除 > 清除所有宏“ />

注意:想使用此功能?立即下载 Kutools for Excel!此外,Kutools for Excel 还提供 300 多项实用功能,并支持 30 天免费试用!别再等待,立即体验吧!


从多个工作簿中删除所有宏

当需要从多个工作簿中清除宏时,您可以采用以下两种方法:


使用 VBA 从文件夹中的工作簿删除清除所有宏

本节将演示如何使用 VBA 宏高效地从指定文件夹内的所有工作簿中移除宏。

注意:在使用 VBA 宏删除宏之前,您需要:
  • 依次导航至文件 > 选项 > 信任中心 > 信任中心设置 > 宏设置,然后勾选“信任对 VBA 项目对象模型的访问”选项。
  • 执行此 VBA 时,请确保指定文件夹中没有任何工作簿处于打开状态。若在有打开的工作簿时运行,可能会导致错误。

步骤 1:创建新模块

  1. 按下 Alt + F11,即可打开 Visual Basic for Applications (VBA)编辑器。
  2. 单击插入 > 模块,即可创建新模块。
  3. 点击插入 loading=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 文件的处理并从中删除宏后,您将看到一个“宏已成功删除!”消息框。

“宏已全部移除!”消息框

注释:

  • 此方法无法删除用户窗体、Excel 5/95 对话框工作表等元素。如果您希望删除这些内容,请参阅下一种方法。
  • 启用“信任对 VBA 项目对象模型的访问”选项可能存在安全风险。建议仅在运行此代码时启用该选项,代码执行完成后,请务必立即取消勾选,以确保系统安全。

使用 Kutools 从任意指定工作簿中删除清除所有宏

Kutools for Excel 提供了一种用户友好的方式,轻松清除多个工作簿中的所有宏。对于不熟悉或不愿使用 VBA 技术的用户而言,Kutools 是理想之选。借助此工具,您可一键移除 VBA 模块、用户窗体、Excel 5/95 对话框工作表以及 Excel 4 XLM 宏工作表。

注意:要运行此功能,您需要启用对 VBA 项目对象模型的信任访问。在 Excel 中,请依次点击文件 > 选项 > 信任中心 > 信任中心设置 > 宏设置,然后勾选“信任对 VBA 项目对象模型的访问”选项。

下载并安装 Kutools for Excel后,请按以下步骤操作:

  1. 选择 Kutools > 删除 > 批量删除所有宏
  2. 选择 Kutools loading=删除 > 批量删除所有宏“ />
  3. 在弹出的批量删除所有宏对话框中,所有已打开的工作簿将列出,供您删除其中的宏。接下来,请执行以下操作:
    1. 要添加更多用于删除宏的工作簿,请单击添加按钮,然后选择文件文件夹
    2. 如需将某些工作簿排除在宏删除过程之外,请单击批量移除所有宏窗口按钮将其移除。
    3. 在对话框中列出所有需要删除宏的工作簿后,单击确定
    4. 成功弹窗

结果

此时会弹出一个新对话框,显示 Kutools 已处理了多少个工作簿以删除其中的宏。点击确定后,系统将自动生成一份汇总工作簿,详细列出处理结果。

注释:

  • 想使用此功能?立即下载 Kutools for Excel!此外,Kutools 还提供超过 300 项实用功能,30 天免费试用,无需等待,立即体验!
  • 启用“信任对 VBA 项目对象模型的访问”选项可能存在安全风险。建议仅在运行此功能时启用该选项,功能执行完成后,请务必立即取消勾选,以确保系统安全。

以上就是在 Excel 中删除宏的全部内容,希望本教程对您有所帮助!如果您想探索更多 Excel 使用技巧,请点击此处,立即访问我们收录的数千篇实用教程,轻松提升办公效率!