vba - Excel VBA 中的错误 1004 - 无法设置工作表类的可见属性

标签 vba excel

在 Excel 论坛的帮助下,我创建了一个用户登录表单,其中有 5 个用户。每个用户只能访问分配给他/她的工作表。这工作正常。但现在我已经保护了“工作簿结构”,以避免用户添加/删除工作表。然后我再次登录,并没有显示登录表单,而是在 Excel VBA 中弹出错误消息:

Error-1004 Unable to set the visible property of the worksheet class

当我调试时,错误在以下代码中突出显示,其中工作表的可见属性设置为“True”、“False”或“xlSheetVeryHidden”。

Private Sub Workbook_Open()
    Dim wsSht As Worksheet

    Worksheets("Splash").Visible = True
    Worksheets("Users").Visible = False
    For Each wsSht In Worksheets
        If Not wsSht.Name = "Splash" Then wsSht.Visible = xlSheetVeryHidden
    Next wsSht
    With Worksheets("Splash")
        .Visible = True
        .Activate
    End With
    frmLogin.Show
    bBkIsClose = False

End Sub

有没有办法纠正这个问题,以便我可以像在密码保护“工作簿结构”之前那样访问登录表单?

最佳答案

还有一个与此相关的问题。

不能隐藏工作簿中所有的工作表。因此,如果您知道您将至少有一张始终可见的工作表,请将其从隐藏过程中排除。

关于vba - Excel VBA 中的错误 1004 - 无法设置工作表类的可见属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5483638/

相关文章:

excel - 将一个单元格的值添加到另一个单元格,然后重置单元格值。 Excel

vba - 如何从特定类中获取特定的 InnerText?

excel - Excel 2007 UDF:如何添加函数说明,参数帮助?

excel - 如何删除Excel 2013单元格中的某些字符

excel - 从 Excel/VBA 调用 Scala 函数

vba - 带引号的 Excel VBA Call Shell

excel - 当另一个值更改时增加 vlookup 单元格引用

mysql - 如何根据一个或两个其他列的值派生表中的列

Perl - Spreadsheet::WriteExcel 函数解释

python - 嵌套循环、迭代器和 csv