在 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/