Excel密码保护表
我正在使用此代码来密码保护两个页面。
由于一些奇怪的原因,我可以隐藏“Sheet1”,而不是“Sheet2”,因为它总是可见的。
线Sheets(MySheet2).Visible = True
是,如果有人input错误的密码,它不会立即隐藏它。
Private Sub Workbook_SheetActivate(ByVal Sh As Object) Dim MySheets As String, Response As String MySheet = "Sheet1" MySheet2 ="Sheet2" If ActiveSheet.Name = MySheet Then ActiveSheet.Visible = False Response = InputBox("Enter password to view sheet") If Response = "MyPass" Then Sheets(MySheet).Visible = True Application.EnableEvents = False Sheets(MySheet).Select Application.EnableEvents = True End If End If Sheets(MySheet).Visible = True Private Sub Workbook_SheetActivate(ByVal Sh As Object) If ActiveSheet.Name = MySheet2 Then ActiveSheet.Visible = False Response = InputBox("Enter password to view sheet") If Response = "MyPass" Then Sheets(MySheet2).Visible = True Application.EnableEvents = False Sheets(MySheet2).Select Application.EnableEvents = True End If End If Sheets(MySheet2).Visible = True End Sub
我想你是在这之后:
Private Sub Workbook_SheetActivate(ByVal Sh As Object) Dim MySheets As String, Response As String With ActiveSheet Select Case .Name Case "Sheet1", "Sheet2" Application.EnableEvents = False .Visible = False Response = InputBox("Enter password to view sheet") If Response = "MyPass" Then .Visible = True .Select End If Application.EnableEvents = True End Select End With End Sub
正如你应该已经知道的那样,这个代码将被放置在ThisWorkbook
代码窗格中