我使用了一些VBA代码来搜索工作簿中的某个字符串的所有工作表名称,我们称之为"文本".当它找到带有该字符串的工作表时,它应该删除该工作表.但是让我们说名称中有四个带有"文本"的表格(名为文本1,文本2,文本3和文本4),而不是删除所有四个,它删除文本1和文本3.它将第2和第4个保留为未删除.然后,如果我再次调用宏,它将删除文本2,但保留文本4.最后,如果我再次单击它会删除文本4.我无法解决为什么它看起来应该工作.
Dim i As Integer, n As Integer
n = ThisWorkbook.Worksheets.Count
i = 1
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Do
On Error Resume Next
If InStr(1, Sheets(i).Name, "Text") Then Sheets(i).Delete
On Error GoTo 0
i = i + 1
Loop Until i = n
Application.DisplayAlerts = True
Application.ScreenUpdating = True
Run Code Online (Sandbox Code Playgroud)