Posiadam kod VBA to jest Auto_Open. Wykonuje pewne kontrole, a następnie wyświetla formularz użytkownika, który prosi o podanie nazwy użytkownika i hasła. Nazwałem to userform z userform_name.show
.Wywołanie formularza użytkownika i zwrócenie wartości
Mój problem polega na tym, jak mogę zwrócić Boolean
do mojego Auto_Open
sub z kodu użytkownika.
Połączyłem kod weryfikujący, czy poświadczenia są poprawne z przyciskiem "Logowanie" w formularzu. jest to kod, który tworzy wartość logiczną. Muszę go zwrócić do 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
"to jest kod, który produkuje boolian" - Gdzie to jest? –
Przepraszam, że go dodałem. jak mogę przekazać "bool" z powrotem do Auto_Open po zakończeniu kodu? – user2385809