在本教程中,我们将探讨在 Excel 中删除多个工作表的 3 种方法,以及如何根据不同的条件执行此操作。
为了说明这一点,我们有一个包含一些销售和利润表的 Excel 文件,我们将删除多个销售表,如下图所示。
方法 1 – 使用功能区中的删除工作表命令此方法适合喜欢使用功能区界面而不是右键单击工作表选项卡的用户。
步骤:
选择要删除的工作表。
对于相邻工作表,请按住 Shift > 第一个工作表 > 最后一个工作表。对于不相邻的工作表,请按住 Ctrl 并一张一张地选择工作表。
转到主页选项卡> 单元格组> 删除下拉列表> 删除工作表
点击删除
这将删除选定的工作表。
快捷键:按键盘上的Alt+H > D > S 直接删除选定的工作表。
方法 2 – 使用上下文菜单如果要删除的工作表数量较少,或者要删除的工作表可以通过其名称或位置轻松识别,请使用此方法,
步骤:
选择要删除的工作表。
对于相邻工作表,请按住 Shift > 第一个工作表 > 最后一个工作表。对于不相邻的工作表,请按住 Ctrl 并一张一张地选择工作表。
右键单击任何选定的工作表。 将出现工作表上下文菜单。单击删除或按键盘上的D
这将删除选定的工作表,而不会出现警告或确认框。
方法 3 – 使用 VBA 代码当您需要删除大量工作表时,尤其是当它们遵循特定模式时,VBA 代码会派上用场。对于同一工作簿或多个工作簿中的重复任务也很有用。
步骤:
按Alt+F11 打开Microsoft Visual Basic for Applications 窗口。 或者,转到开发人员选项卡> 代码组> Visual Basic
选择插入> 模块
在模块窗口中插入以下代码:
Sub Delete_Multiple_Worksheets()
'Turn off the display alerts
Application.DisplayAlerts = False
'Deleting multiple worksheets
Worksheets("Sales1").Delete
Worksheets("Profit1").Delete
'Turn on the display alerts back
Application.DisplayAlerts = True
End Sub单击运行图标或按F5
这将删除 VBA 代码中提到的所有工作表。
注意:要获取确认对话框,请从代码中排除以下行:
Application.DisplayAlerts = False
Application.DisplayAlerts = TrueExcel中如何根据条件删除多张工作表?您可能需要根据某些条件删除多个工作表,例如删除除活动工作表之外的所有工作表或删除一组具有特定名称或字符串的工作表。在这种情况下,使用 VBA 代码最为有效,因为对于大量工作表来说,使用 Excel 功能是一个漫长的过程。
下面是Excel中根据条件删除多张工作表的两种情况:
情况 1 – 删除除活动工作表之外的所有工作表在此示例中,当前工作表为“Profit1”。我们将删除除此之外的所有工作表。
步骤:
按Alt+F11 打开Microsoft Visual Basic for Applications 窗口。 或者,转到开发人员选项卡> 代码组> Visual Basic
选择插入> 模块
在模块窗口中插入以下代码:
Option Explicit
Sub deletemultiplesheets()
Dim spreadsheet As Worksheet
Application.DisplayAlerts = False
For Each spreadsheet In Sheets
If spreadsheet.Name <> ActiveSheet.Name Then
spreadsheet.Delete
End If
Next spreadsheet
Application.DisplayAlerts = True
End Sub单击运行图标或按F5
这将删除除活动工作表之外的所有工作表
案例 2 – 删除具有特定文本字符串的工作表在此示例中,我们将删除包含字符串“Sales”的每个工作表。您可以在代码中使用任何字符串来代替“Sales”。
步骤:
按Alt+F11 打开Microsoft Visual Basic for Applications 窗口。 或者,转到开发人员选项卡> 代码组> Visual Basic。选择插入>模块。 将出现模块窗口。在模块窗口中插入以下代码:
Option Explicit
Sub DeleteSheetWithSameName()
Dim spreadsheet As Worksheet
Application.DisplayAlerts = False
For Each spreadsheet In sheets
‘Replace Sales1 with the desired string
If spreadsheet.Name Like "*" & "Sales" & "*" Then
spreadsheet.Delete
End If
Next spreadsheet
Application.DisplayAlerts = True
End Sub单击运行图标或按F5
这将删除具有特定文本字符串的所有工作表
练习手册
常见问题解答我可以恢复 Excel 中已删除的工作表吗?不可以,您无法恢复 Excel 中已删除的工作表。删除工作表是一个不可逆的过程。
有没有其他方法可以删除 Excel 中的工作表?如果您想暂时从视图中删除工作表,则可以隐藏它们,而不是删除工作表。右键单击工作表选项卡并选择“隐藏”。可以通过右键单击任何工作表名称 > 取消隐藏 > 确定来取消隐藏隐藏工作表。
我可以从受保护的工作簿或工作表中删除工作表吗?仅当您首先取消保护工作表时。右键单击工作表选项卡,选择“取消保护工作表”(如果适用),然后继续删除。