Ich habe einen VBA-Code, der Auto_Open ist. Es führt einige Überprüfungen durch und fordert dann ein Benutzerformular auf, das nach Benutzername und Passwort fragt. Ich habe dieses Benutzerformular mit userform_name.show
aufgerufen.Aufruf eines Benutzerformulars und Rückgabe eines Wertes
Mein Problem ist, wie kann ich eine zu meinem Auto_Open
Sub aus dem Benutzerformular-Code zurückgeben.
Ich habe den Code, der überprüft, ob die Anmeldeinformationen korrekt sind, mit der Schaltfläche "Login" im Formular verknüpft. Dies ist der Code, der den Booleschen Wert erzeugt. Ich muss es an die Auto_Open zurückgeben.
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
"das ist der Code, der die Boolian produziert" - Wo ist es? –
Entschuldigung ich habe es hinzugefügt. Wie kann ich "bool" an Auto_Open übergeben, wenn der Code abgelaufen ist? – user2385809