【发布时间】:2013-09-28 18:08:27
【问题描述】:
我有一个 Auto_Open 的 vba 代码。它会进行一些检查,然后提示一个询问用户名和密码的用户表单。我用userform_name.show 调用了这个用户表单。
我的问题是如何从用户表单代码中将Boolean 返回给我的Auto_Open 子。
我将验证凭据是否正确的代码链接到表单上的“登录”按钮。这是产生布尔值的代码。我需要将它返回给 Auto_Open。
Private Sub loginbutton()
Dim bool As Boolean
Dim lrup
Dim r As Long
Dim pass As String
loginbox.Hide
'are fields empty
Do While True
If unBox.Text = "" Or pwBox.Text = "" Then
MsgBox ("You must enter a Username and Password")
Else
Exit Do
End If
loginbox.Show
Exit Sub
Loop
'find pw reated to username (if existant)
lrup = UserPass.Range("A1").Offset(UserPass.Rows.Count - 1, 0).End(xlUp).Row
If unBox = "b0541476" And pwBox = "theone" Then
bool = True
Else
MsgBox ("Invalid username or password. Please try again.")
loginbox.Show
Exit Sub
End If
For r = 2 To lrup
If unBox = Cells(r, 1) Then
pass = Cells(r, 2).Value
Exit For
End If
Next
If pass = "" Then
MsgBox ("Invalid username or password. Please try again.")
loginbox.Show
Exit Sub
Else
bool = True
End If
End Sub
【问题讨论】:
-
"这是产生布尔值的代码" - 它在哪里?
-
对不起,我添加了它。代码结束后如何将“bool”传回 Auto_Open?
标签: excel excel-2010 userform vba