删除X张后的所有工作表

我下面的代码应该从6开始删除所有的页面,但是当按下这个button的时候可能会有很多页面。

它的工作原理,但是我得到'删除工作表类失败的方法'错误之后

Private Sub UnloadButton_Click() Do While Worksheets.Count > 5 Application.DisplayAlerts = False Worksheets(6).Delete Application.DisplayAlerts = True Loop End Sub 

类似的问题,我看到要删除所有表或命名表,我不能真正适应这一点。

我怀疑这是因为它试图删除工作表6当工作表6不再存在,但肯定一旦工作表计数是5,它不会触发另一个循环?

感谢David G

我有3个“非常隐藏”的表单,需要先删除,因为我的代码确实试图删除隐藏的表单。

在另一个用户工作表上工作时要注意的一点是,检查非常隐藏的表

虽然你的问题是非常VeryHidden请注意,您可以删除没有循环的工作表,如下所示

同样在你的原始代码中,build议你将Application.DisplayAlerts = False移到你的循环之外。

  If Worksheets.Count > 5 Then Application.DisplayAlerts = False Sheets(Application.Transpose(Application.Evaluate("=ROW(6:" & Sheets(Sheets.Count).Index & ")"))).Delete Application.DisplayAlerts = True End If