循环工作簿并删除VeryHidden工作表

时间:2016-02-04 17:21:30

标签: excel vba excel-vba

较大项目中的一个模块是创建冗余的非常隐藏的工作表。我试图遍历工作簿中的每个工作表并删除标记为veryHidden的工作表。我在其他项目中使用了几乎完全相同的代码并且它已经工作了所以我不确定为什么它不能在这种情况下工作。这是我尝试过的:

Dim sheet As Worksheet
For Each sheet In ActiveWorkbook.Worksheets
    If sheet.Visible = xlSheetVeryHidden Then
        sheet.Delete
    End If
Next sheet

我也尝试使用相同的代码:

For Each sheet In ActiveWorkbook

我也尝试过:

Dim i As Integer
Dim sheetCount As Integer
For i = 1 To sheetCount
    If Worksheets(i).Visible = xlVeryHidden Then
        Worksheets(i).Delete
    End If
Next i

还有:

For i = sheetCount To 3 Step -1
    If Worksheets(i).Visible = xlVeryHidden Then
        Worksheets(i).Delete
    End If
Next i

在所有尝试中,Application.DisplayAlerts在运行前更改为False,并在运行后更改为True。导致运行时错误1004.

1 个答案:

答案 0 :(得分:1)

如果你在删除它之前取消隐藏它,它应该可以工作。

Dim sheet As Worksheet
For Each sheet In ActiveWorkbook.Worksheets
    If sheet.Visible = xlSheetVeryHidden Then
        sheet.visible = xlSheetVisible
        sheet.Delete
    End If
Next sheet