如果工作表名称不在列表中,如何删除工作表


Microsoft Excel 是一款功能强大的电子表格程序,通常用于数据分析、计算和信息组织。在使用 Excel 时,您可能会遇到需要删除不在预定列表中的工作表的情况。本教程将指导您使用 VBA(Visual Basic for Applications)编程在 Excel 中删除工作表。在 Excel 中,VBA 允许我们自动化操作并创建独特的解决方案。我们可以使用 VBA 快速检测和删除不在我们所需列表中的工作表。

如果工作表名称不在列表中,则删除工作表

在这里,我们将首先创建一个 VBA 模块,然后运行它来完成任务。让我们来看一个简单的过程,了解如何在 Excel 中删除名称不在列表中的工作表。

步骤 1

考虑任何包含一个工作表中工作表列表的 Excel 工作簿。

首先,右键单击工作表名称,然后选择“查看代码”以打开 VBA 应用程序。

右键单击 > 查看代码。

步骤 2

然后单击“插入”,选择“模块”,并将下面的代码复制到文本框中。

插入 > 模块 > 复制。

示例

Sub Deletenotinlist()
    Dim i As Long
    Dim cnt As Long
    Dim xWb, actWs As Worksheet
    Set actWs = ThisWorkbook.ActiveSheet
    cnt = 0
    Application.DisplayAlerts = False
    For i = Sheets.Count To 1 Step -1
        If Not ThisWorkbook.Sheets(i) Is actWs Then
            xWb = Application.Match(Sheets(i).Name, actWs.Range("A2:A6"), 0)
            If IsError(xWb) Then
                ThisWorkbook.Sheets(i).Delete
                cnt = cnt + 1
            End If
        End If
    Next
    Application.DisplayAlerts = True
    If cnt = 0 Then
        MsgBox "Not find the sheets to be seleted", vbInformation, "Kutools for Excel"
    Else
        MsgBox "Have deleted" & cnt & "worksheets"
    End If
End Sub

在代码中,A2:A6 是包含工作表名称列表的单元格范围。

步骤 3

然后单击 F5 运行代码并单击“确定”。然后您可以看到不在列表中的工作表将被删除,并且会显示一条消息。

结论

在本教程中,我们使用了一个简单的示例来演示如何在 Excel 中删除名称不在列表中的工作表。

更新于:2023年7月20日

浏览量:186

开启你的职业生涯

完成课程获得认证

开始学习
广告