VBA userform Passwort Abfrage?
Hallo, ich möchte in excel eine Passwortsbfrage machen mit userform.
In Tabelle 1 stehen in Spalte A2 bis A30 Mitarbeiter usernamen.
in Spalte B2 bis B30 die dazugehörigen Passwörter.
userform mit Textfeldern wurde bereits erstellt.
wie kann ich jetzt die Zellen vergleichen wenn ich auf Einloggen gehen z.b A2 und B2 und wenn übereinstimmend, dann userform schließen ansonsten msg Box falsch
Oben Die Userform mit Textbox1 und Textbox2
Unten die Tabelle1 mit Username und Passwort.
1 Antwort
Den Inhalt des Usernamen kannst du mit
Worksheetfunction.Match() finden. (Funktioniert wie die VERGLEICH Funktion)
Die Zeile die hierzurückgegeben wird kann nun verwendet werden um in Spalte B das PW auszulesen.
meineZeile= Worksheetfunction.Match(User,Worksheets("Blatt1").Range("A1:A200"),0)
meinPW = Worksheets("Blatt1").("B" & meineZeile).Value
If meinPW = UserForm.TextBoxPW.Text then
UserForm.hide
Else
MSgBox "PW oder User falsch"
End if
Und natürlich der Button, worin dann dein Code rein muss
Doppelklick auf den Button damit der Code Editor aufgeht.
Private Sub Button1_Click
Dim meineZeile, meinPW
meineZeile= Worksheetfunction.Match(User,Worksheets("Blatt1").Range("A1:A200"),0)
meinPW = Worksheets("Blatt1").("B" & meineZeile).Value
If meinPW = UserForm.TextBoxPW.Text then
MSgBox "Access Granted"
UserForm.hide
Else
MSgBox "PW oder User falsch"
End if
End sub
Hey, sorry das ich nochmal fragen muss.
Code ist drin allerdings wird mir die Zeile rot angezeigt. Ich habe oben mal Bilder von meiner Tabelle sowie Userform angehängt.
Namen sind unverändert von der Tabelle und auch der Elemente der Userform. Habe es auch soweit abgeändert.
Funktioniert aber leider nicht.
Falsche Zeile: meinPW = Worksheets("Tabelle1").("B" & meineZeile).Value
Vielleicht findest du ja den Fehler. Wäre klasse. Vielen Dank schonmal im voraus.
Mein kompletter Code:
Private Sub Button1_Click()
Dim meineZeile, meinPW
meineZeile = WorksheetFunction.Match(User, Worksheets("Tabelle1").Range("A1:A200"), 0)
meinPW = Worksheets("Tabelle1").("B" & meineZeile).Value
If meinPW = UserForm.TextBox2.Text Then
MsgBox "Access Granted"
UserForm.Hide
Else
MsgBox "PW oder User falsch"
End If
End Sub
Ich weiß nicht ob deine Blatt "Tabelle1" heißt !
Ich weiß nicht ob die UserNamen in Spalte A genau in diesem Bereich stehen.
etc.
Dies ist ein Beispiel Code den du auf dein Sheet anpassen mußt.
das neu benennen ist kein Problem. Könntest du mir vllt in die Routine noch ne 2te userform textbox einbauen. Da ja username und Passwort jeweils in eine textbox in der Form eingegeben und dann mit dem Button Bestätigt wird
danke
danke, ich habe jetzt eine userform mit 2 Textfeldern
textbox1 username und Textbox 2 Passwort. wie muss ich das in deinem Code einbauen? das er prüft ob die Eingabe in den beiden Textfeldern mit denen in der Tabelle übereinstimmen?
vielen Dank im Voraus