密码button和用户窗体

我在Excel VBA中编写了以下用户表单:

Private Sub CommandButton1_Click() Password = TextBox1.Text If Password = a Then MsgBox "Password Correct.", vbInformation Unload Me Else MsgBox "Password Incorrect. Please try again.", vbCritical End If End Sub 

密码variablesa =“test”

这个密码用户表单本身完美地工作。 现在我想将它连接到已经在工作表中的button。 该button背后的代码位于VBA编辑器的“ThisWorkbook”部分:

 Sub Button_Test() UserForm1.Show Tabelle2.Range("C3").Value = 1 End Sub 

这个想法是button“Button_Test”受到用户窗体可以input的密码的保护。 一旦密码input正确,将执行macros“Tabelle2.Range(”C3“),Value = 1”。

但是,目前我有问题,用户forms响应我与“密码正确”,但不启动macros“Tabelle2.Range(”C3“),值= 1”。

我怎样才能告诉用户forms一旦input密码正确,它应该跳回macros“Button_Test”并继续程序?

谢谢你的帮助。

我会使用一个布尔值,当密码是正确的,你将设置为true。 你可以做这样的事情:

在模块或工作表中的代码

 Sub Schaltfläche1_Klicken() 'Load funktion Check Password If UserForm1.checkPassword() = True Then 'Run this Code when PWD was Correct Tabelle1.Range("C3").Value = 1 End If End Sub 

而在UserForm中,你可以像这样放置一个代码:

 Private passwordStatus As Boolean Private Sub CommandButton1_Click() Dim a As String Dim Password As String a = "123" Password = TextBox1.Text 'Set Pawwordstatus at False before Testing passwordStatus = False If Password = a Then MsgBox "Password Correct.", vbInformation passwordStatus = True Unload Me Else MsgBox "Password Incorrect. Please try again.", vbCritical End If End Sub Function checkPassword() As Boolean UserForm1.Show 'Shows the User Form. And after Closing the Form 'The PasswordStatus Value will be returned and you can check if 'it is true checkPassword = passwordStatus End Function