删除前x页数的所有工作表
我试图删除前20张表以外的所有工作表
我有这个代码 – 我认为是工作,但我现在只是运行它,它只会删除一些表。
Sub DeleteAll() i = Worksheets.Count For x = 21 To i Application.DisplayAlerts = False Worksheets(x).Delete Application.DisplayAlerts = True Next x End Sub
表格索引在删除时会发生变化。 所以当你删除表格21时,你会有另外一个表格21被跳过,表格22被删除等。
一种解决方法是从最后一张开始,以相反的顺序删除纸张。 例如:
Sub DeleteAll() i = Worksheets.Count For x = i to 21 Step -1 '# <- please note the change here Application.DisplayAlerts = False Worksheets(x).Delete Application.DisplayAlerts = True Next x End Sub
Do While Worksheets.Count > 20 Worksheets(21).Delete Loop