2017-05-26 76 views
0

我为我的办公室维护宏的工作簿。这个工作簿有一个用户窗体菜单,我的队友用来访问这些宏,但是我还包含了一个开发人员用户窗体,这个开发人员窗体可以让我绕过某些步骤(比如输入信息,范围等)。我们使用热键来访问这些用户窗体。我如何密码保护此开发人员用户窗体,以便其他人不小心访问它?如何密码保护Excel用户窗体但允许它在没有密码的情况下重新打开?

Sub macShowDevPanel() 

    frmDevPanel.Show 

End Sub 

回答

0

要密码保护此面板,您只需添加一些代码来检查用户是否输入了正确的密码。这是非常简单的使用InputBox和条件。

Sub macShowDevPanel() 
    ' Source: http://www.excel-easy.com/vba/examples/protect-macro.html 
    Dim password as String 

    Select Case password 
     Case Is = False 
      ' do nothing 
     Case Is = "CTM" 
      frmDevPanel.Show 
     Case Else 
      MsgBox ("Incorrect Password") 
    End Select 

End Sub 

请注意,如上所示,每次点击热键打开UserForm时,都会询问您输入密码。您可以通过声明password作为公共变量来解决这个问题,这意味着只要工作表保持打开状态,它就会保留为适当的值。当您关闭并重新打开时,您将不得不重新输入密码。

Public password as String 

Sub macShowDevPanel() 

    If password <> "CTM" Then 
     password = Application.InputBox("Enter the Dev Panel password", "Dev Panel - Password Protected") 
    End If 

    Select Case password 
     Case Is = "CTM" 
      frmDevPanel.Show 
     Case Else 
      MsgBox ("Incorrect Password") 
    End Select 

End Sub 
相关问题