[英]VBA for password does not continue after password was entered in text field
在我的電子表格中,我有一個鏈接到以下VBA的按鈕:
Sub Button_01()
If UserForm1.checkPassword() = True Then
Sheet1.Range("C3").Value = 1
Else
End If
End Sub
使用此按鈕,我觸發具有以下VBA的用戶表單:
Private passwordStatus As Boolean
Private Sub CommandButton1_Click()
Dim a As String
Dim Password As String
a = "123"
Password = TextBox1.Text
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
checkPassword = passwordStatus
End Function
UserForm1
打開,但是當我在UserForm1
輸入密碼時,該過程不會繼續。 The UserForm1
只是呆在那里。
輸入密碼后,我在代碼中找不到阻止宏繼續執行的錯誤。 你能幫助我嗎?
對我來說,您的代碼可以完美地工作,除了:
Sub Button_01()
If UserForm1.checkPassword() = True Then
Sheet1.Range("C3").Value = 1
Else
End If
End Sub
這段代碼將出錯。
更改:
Sheet1.Range("C3").Value = 1
至:
Sheets(1).Range("C3").Value = 1
通常通過公共變量在用戶窗體和常規模塊之間傳遞信息。 您應該將大部分代碼放入常規模塊中,並且僅使用用戶表單將檢查返回。
常規模塊:
Public CorrectPassword As Boolean
Sub Button_01()
CorrectPassword = False
UserForm1.Show
If CorrectPassword = True Then
Sheets(1).Range("C3").Value = 1
Else
Msgbox "Password Incorrect. Please try again.", vbCritical
End If
End Sub
用戶表單模塊:
Private Sub CommandButton1_Click()
Dim a As String
Dim Password As String
a = "123"
Password = TextBox1.Text
If Password = a Then CorrectPassword = True
Unload Me
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.