在管理表中隐藏更多工作表

问题描述

我已经进行了用户登录和注销,如果“管理员登录”中显示了管理表,如果未显示管理员登录,则没有显示。这是完美的选择,但是我想隐藏更多的工作表以及管理工作表,我们该怎么做?有人可以帮忙吗?谢谢您输入

这是我的代码,用于在有人登录时隐藏管理表:

Private Sub okbtn_Click()


Dim Wksht As Worksheet

If Sheet11.Range("B6").Value = True Then



Sheet11.Range("B7").Value = Sheet11.Range("B4").Value 'Set Current User

Loginfrm.Hide

For Each Wksht In ThisWorkbook.Worksheets

If Wksht.Name = "Admin" Then

 If Sheet11.Range("B8") = "Yes" Then 'Admin

 Wksht.Visible = xlSheetVisible
 

 Else:

 Wksht.Visible = xlSheetVeryHidden

 End If

 Else: 'Not Admin

 Wksht.Visible = xlSheetVisible

End If

Next Wksht

Sheet11.Range("B4,B5").ClearContents

Else:

MsgBox "Please enter correct Username & Password"

End If

End Sub

解决方法

您可以尝试使用Select Case而不是If Wksht.Name = "Admin"。像这样:

Select Case Wksht.Name
    Case "Admin","sheet_a","sheet_b"
        ' do some stuff if it's one of the above sheets
        ' ***
        ' ***
    Case Else
        ' do other stuff if it's not one of them
        ' ***
        ' ***
End Select

您也可以添加其他案例。