VBA删除名称不包含单词“工作表”的任何工作表,而不会发出警告

时间:2018-12-13 10:27:36

标签: excel vba excel-vba

我这里有一小段VBA代码,它会在没有警告的情况下删除名为“ Sheet1”的工作表。我想我的代码要做的是在不警告任何名称为“ Sheet”的工作表中删除(例如:1000Sheet,10Sheet,Sheet2,Sheet3…Sheet1000…)

非常感谢 哈维

Sub ActShtDel()
Application.DisplayAlerts = False
 Sheets("Sheet1").Delete
Application.DisplayAlerts = True
End Sub

2 个答案:

答案 0 :(得分:4)

您需要遍历所有工作表,检查名称中是否包含“ Sheet”,如果是,则删除有问题的工作表。这应该可以满足您的需求

Sub ActShtDel()
Dim ws
Application.DisplayAlerts = False
For Each ws in ThisWorkbook.Worksheets
    If InStr(ws.Name, "Sheet") > 0 Then
        ws.Delete
    End If
Next
Application.DisplayAlerts = True
End Sub

答案 1 :(得分:0)

使用Application.EnableEvents = False