你能否告诉我某人为什么只删除每一张纸,但是如果我关闭工作纸。删除行,则会在消息框中显示所有工作表名称。
Sub tor()
Dim wsz As Integer
wsz = Application.Worksheets.Count
For i = 2 To wsz
MsgBox Application.Worksheets(i).Name
Application.DisplayAlerts = False
Application.Worksheets(i).Delete
Next i
End Sub
答案 0 :(得分:3)
当您从Worksheets集合中删除工作表时,下一个工作表将获取您刚刚删除的工作表的索引。然后,您递增i
,跳过您想要删除的下一张表。
最简单的解决方案是从头开始删除工作表。
For i = ThisWorkbook.Worksheets.Count To 2 Step -1
Application.Worksheets(i).Delete
Next i
答案 1 :(得分:2)
反向删除工作表。每次删除工作表时,工作表索引都会被移动。
Sub tor()
Dim wsz As Integer, i as Long
wsz = ThisWorkbook.Worksheets.Count
Application.DisplayAlerts = False
For i = wsz To 2 Step -1
ThisWorkbook.Worksheets(i).Delete
Next i
Application.DisplayAlerts = True
End Sub