xlSheetVeryHidden给出运行时错误

时间:2015-08-06 09:29:15

标签: vba

我很累,真的,试图找到解决方案。我运行Excel 2013.当我物理输入代码时:

Private Sub Workbook_Open()
    Dim ws As Worksheet

    For Each ws In Worksheets
        If Not ws.Name = "sheet1" Then ws.Visible = xlSheetVeryHidden
    Next ws

End Sub

我得到“如果不是ws.Name ......等”,VBA实际上会给出下拉菜单,这告诉我我工作正常。但是,一旦我运行代码(打开工作簿),我得到一个错误1004,方法'可见'...

相信我,我已经搜索过,发现了一两个轻微的模式,但没有快乐。

1 个答案:

答案 0 :(得分:0)

可能的原因是此时您的工作簿中只有一个可见工作表,并且其名称不是 sheet1

每个Excel文件必须至少有一个可见工作表。因此,如果您尝试使用此代码隐藏唯一可见的工作表:

ws.Visible = xlSheetVeryHidden

Excel抛出错误:运行时错误'1004':对象'_Worksheet'的方法'可见'失败

请注意,使用当前代码时,也会隐藏名为 Sheet1 的工作表,因为您的比较区分大小写。如果您想忽略字母大小写,可以使用以下代码:

If StrComp(ws.Name, "sheet1", vbTextCompare) Then ws.Visible = xlSheetVeryHidden