删除工作表错误

我试图删除表单1以外的所有表单。除了表单1以外,我不知道工作表的名称。因此,我使用了一个for循环,但是它始终在行工作表上给出超出范围下标的错误s)。删除感谢您的帮助提前。

Sub clear() Dim z, y As Integer Dim s As String Dim sheet As Worksheet z = ActiveWorkbook.Sheets.Count For y = 2 To z Step 1 s = ActiveWorkbook.Sheets(y).Name Worksheets(s).Delete Next y Sheet1.Cells.clear End Sub 

我没有testing这个,但尝试按照相反的顺序逐页浏览。 您可能会删除其中一个表格,然后尝试在for循环中引用它

 Sub clear() Dim z, y As Integer z = ActiveWorkbook.Sheets.Count For y = z To 2 Step -1 ActiveWorkbook.Sheets(y).Delete Next y Sheet1.Cells.clear End Sub 

你真的想保留哪张纸,有点不清楚,但这是怎么回事? 我假设你想保留,然后清除Sheets("Sheet1") 。 如果没有,只需将其编辑到您想要保留/清除的工作表。

 Sub clear() Dim sheet As Worksheet For Each sheet In ActiveWorkbook.Sheets If sheet.Name <> "Sheet1" Then sheet.Delete Next sheet Sheets("Sheet1").Cells.clear End Sub 

如果你想保留Sheet(1)那么你会这样做:

 Sub clear() Dim sheet As Worksheet For Each sheet In ActiveWorkbook.Sheets If sheet.Index <> 1 Then sheet.Delete Next sheet Sheets(1).Cells.clear End Sub