与管理员一起隐藏更多工作表 Sheet
Hide more worksheets along with Admin Sheet
我已经进行了用户登录和注销。
如果 Admin 登录,则显示 admin sheet.
如果非管理员登录,则管理员 sheet 不会显示。
我想与管理员 sheet 一起隐藏更多 sheet。
非管理员登录时隐藏管理员 sheet 的代码:
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
您也可以添加其他案例。
我已经进行了用户登录和注销。
如果 Admin 登录,则显示 admin sheet.
如果非管理员登录,则管理员 sheet 不会显示。
我想与管理员 sheet 一起隐藏更多 sheet。
非管理员登录时隐藏管理员 sheet 的代码:
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
您也可以添加其他案例。