Skip to main content

如何從 Excel 中刪除宏(完整指南)

Author: Amanda Li Last Modified: 2025-05-12

Microsoft Excel 提供了一個強大的功能——宏,它可以自動化重複的任務,並完成許多內建 Excel 功能無法實現的操作。然而,有時候這些宏可能會變得多餘,甚至可能帶來潛在的安全風險,特別是在與他人共享工作簿時。在這些情況下,了解如何安全有效地刪除宏就顯得尤為重要。本指南將帶您了解從 Excel 工作簿中刪除宏的各種方法,確保您在需要時擁有一個乾淨、簡潔的文件。


在 Excel 中刪除宏之前需要了解的事項

  • 當打開一個啟用宏的工作簿並嘗試刪除宏時,您必須首先點擊工作簿中的「啟用內容」按鈕。這是刪除宏前的必要步驟。
  • The Enable Content button
  • 注意:如果您沒有看到這個按鈕,這意味著您可以直接刪除宏。其原因可能是您自己創建了嵌入宏的工作簿並保存了它。當在同一台電腦上重新打開該工作簿且 Excel 設置未更改時,「啟用內容」按鈕通常不會出現。這是因為該文件來自可信來源(您自己),並且位於可信位置(您的電腦)。

  • 請記住,一旦刪除了宏,恢復是不可能的。為了保護您的工作,建議在刪除任何宏之前創建工作簿的備份副本。

刪除特定的宏

步驟 1:打開宏對話框

導航到「開發工具」選項卡,然後選擇「」以打開對話框。(如果在 Excel 中看不到「開發工具」選項卡,請參閱步驟後的說明。)

The Macros button on the Developer tab

提示:
  • 如果您使用的是 Excel 2013 或更新版本,「」按鈕也可以在「檢視」選項卡中找到。
  • 快捷鍵愛好者可以直接按下 Alt + F8 來訪問對話框。

步驟 2:選擇並刪除特定的宏

  1. 展開「宏位置」下拉菜單,並選擇要刪除宏的目標位置。
  2. 從宏列表中選擇要刪除的宏。
  3. 點擊「刪除」。
  4. The Macro dialog box

注意:

  • 要添加 開發工具 選項卡到 Excel 的功能區,請按照以下步驟操作:
    1. 右鍵單擊功能區上的任意位置,然後選擇「自定義功能區…」。
      The Customize the Ribbon option on the context menu
    2. 在出現的窗口右側的「主選項卡」列表中,勾選「開發工具」旁邊的框,然後點擊「確定」。
      Check the Developer box
  • 如果您打算刪除多個宏,則需要對每個宏重複上述過程。有關批量刪除所有宏的說明,請繼續閱讀以下部分。

從工作簿中刪除所有宏

在需要從工作簿中刪除所有宏的情況下,這裡有兩種方法:


通過將文件保存為 xlsx 格式刪除工作簿中的所有宏

「Excel 工作簿 (*.xlsx)」格式本身不支持宏。因此,將工作簿保存為此特定格式將自動刪除所有嵌入的宏。要執行此方法,請按照以下步驟操作:

  1. 導航到「文件」>「另存為」。
  2. 展開文件類型下拉菜單,然後選擇「Excel 工作簿 (*.xlsx)」格式。
    提示:您可以在下拉菜單上方的文本框中輸入新的 .xlsx 文件名稱。要將文件保存到其他位置,請點擊「瀏覽」。
  3. 點擊 保存.
    The Save As window

    注意:不同 Excel 版本的「另存為」界面可能有所不同。如果您沒有看到如上所示的右側窗格(其中可以選擇文件格式),您可以隨時點擊「瀏覽」,然後選擇「Excel 工作簿 (*.xlsx)」格式。

  4. 在出現的提示框中,選擇「」。
  5. The prompt box

結果

結果是,一個沒有宏的新 .xlsx 文件被保存下來。該 .xlsx 文件將採用原始 .xlsm 文件的名稱,並保存在同一位置。

注意:此方法不會刪除用戶窗體、Excel 5/95 對話框工作表及類似元素。如果您希望刪除這些內容,請參閱下一方法。


使用 Kutools 提供的一鍵選項刪除工作簿中的所有宏

Kutools for Excel 是一款高級 Excel 插件,為用戶提供了一鍵選項,可輕鬆刪除工作簿中嵌入的所有宏。只需單擊一下,即可清除 VBA 模塊、用戶窗體、Excel 5/95 對話框工作表和 Excel 4 XLM 宏工作表。

打開包含要刪除宏的工作簿後,導航到「Kutools」選項卡,然後選擇「刪除」>「刪除所有宏」。這樣就完成了!

Select Kutools> Delete > Remove All Macros

注意:想使用此功能嗎?立即下載 Kutools for Excel!除此之外,Kutools 還擁有 300 多種其他功能,並提供 30 天試用期。不要再猶豫了,今天就試試吧!


從多個工作簿中刪除所有宏

當面臨從多個工作簿中刪除宏的任務時,您可以採取以下兩種方法:


使用 VBA 從文件夾中的工作簿刪除宏

在本節中,我將演示如何使用 VBA 宏高效地從指定文件夾中的所有工作簿中刪除宏。

注意: 在使用 VBA 宏刪除宏之前,您需要:
  • 導航到「文件」>「選項」>「信任中心」>「信任中心設置」>「宏設置」,然後選擇「信任對 VBA 專案物件模型的存取」選項。
  • 確保在執行此 VBA 時指定文件夾中的所有工作簿都已關閉。在有打開的工作簿時運行它可能會導致錯誤。

步驟 1:創建新模塊

  1. 按下 Alt + F11 打開 Visual Basic for Applications (VBA) 編輯器。
  2. 點擊「插入」>「模塊」以創建新模塊。
  3. Click Insert> Module in the VBA editor

步驟 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 或點擊 Run button 按鈕以執行粘貼的代碼。
  2. 在出現的「選擇文件夾」窗口中,選擇包含要刪除宏的工作簿的文件夾,然後點擊「確定」
  3. The Select a folder window

結果

宏處理完所選文件夾中的所有 Excel 文件並刪除其中的宏後,您將看到一個「宏刪除完成!」的消息框。

The 'Macros removal completed!' message box

注意:

  • 此方法不會刪除用戶窗體、Excel 5/95 對話框工作表及類似元素。如果您希望刪除這些內容,請參閱下一方法。
  • 啟用「信任對 VBA 專案物件模型的存取」選項可能會帶來安全風險。建議僅在運行此代碼時啟用該選項。確保在代碼執行完成後取消選擇「信任對 VBA 專案物件模型的存取」選項。

使用 Kutools 從任何特定工作簿中刪除所有宏

Kutools for Excel 提供了一種用戶友好的方式,可從多個工作簿中刪除所有宏。對於那些不熟悉或不願意使用 VBA 技術的人來說,Kutools 是一個理想的替代方案。有了這個工具,您可以輕鬆刪除 VBA 模塊、用戶窗體、Excel 5/95 對話框工作表和 Excel 4 XLM 宏工作表。

注意:要運行此功能,您需要信任對 VBA 專案物件模型的存取。在 Excel 中,請導航到「文件」 > 「選項」 > 「信任中心」 > 「信任中心設置」 > 「宏設置」,然後選擇「信任對 VBA 專案物件模型的存取」選項。

下載並安裝 Kutools for Excel後,請按照以下步驟操作:

  1. 選擇Kutools>刪除>批量刪除所有宏
  2. Select Kutools> Delete > Batch Remove All Macros
  3. 批量刪除所有宏 對話框中,列出了所有打開的工作簿以進行宏刪除。以下是您需要做的下一步:
    1. 要添加更多工作簿以進行宏刪除,請點擊「添加」按鈕,然後選擇「文件」或「文件夾」。
    2. 如果有任何工作簿您希望排除在宏刪除過程之外,請點擊 The Batch Remove All Macros window 按鈕將其移除。
    3. 在對話框中列出所有要刪除宏的工作簿後,點擊「確定」
    4. Success popup

結果

將出現一個新的對話框,指示 Kutools 已處理了多少個工作簿以進行宏刪除。按下「確定」後,將生成一個自動化的摘要工作簿以概述結果。

注意:

  • 想使用此功能嗎?立即下載 Kutools for Excel!此外,Kutools 還提供了超過 300 種其他功能,並提供 30 天免費試用期,沒有理由再等待。今天就試試吧!
  • 啟用「信任對 VBA 專案物件模型的存取」選項可能會帶來安全風險。建議僅在運行該功能時啟用該選項。確保在功能執行完成後取消選擇「信任對 VBA 專案物件模型的存取」選項。

以上是與刪除 Excel 中宏相關的所有內容。我希望您覺得本教程有所幫助。如果您想探索更多 Excel 技巧,請點擊這裡訪問我們超過數千篇教程的廣泛收藏。