1

我制作了一个 VBA 程序,现在一切都完成了,我需要彻底清理我的工作簿以多次运行该程序。为此,我正在使用以下代码:

Sub deleteWorksheets()
Dim ws As Worksheet

Application.DisplayAlerts = False

For Each ws In ThisWorkbook.Worksheets
        ws.Delete
Next ws

Application.DisplayAlerts = True
End Sub

但是方法 delete 每次都失败。我之前尝试激活并设置可见属性,但似乎没有任何效果。

4

1 回答 1

5

您需要让至少一个工作表在清除过程中幸存下来。您不能将它们全部删除。

尝试这样的事情:

For Each ws In ThisWorkbook.Worksheets
    If ThisWorkbook.Worksheets.Count > 1 Then
        ws.Delete
    Else
        ' in case you want to wipe out whatever was in the sheet
        ws.Cells.Clear
    End If
Next ws
于 2013-07-10T21:22:36.907 回答