Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

einfacher Login per Userform

Forumthread: einfacher Login per Userform

einfacher Login per Userform
03.01.2018 16:40:27
tursiops
Hallo!
Ich möchte einen einfachen Login per Userform realisieren und benötige hierbei etwas Hilfe.
Meine Userform(2) liest die gültigen Benutzer aus dem versteckten Tabellenblatt "User" aus.
Private Sub UserForm_Initialize()
ComboBox1.List = Blatt30.Range("A2:A30").Value
ComboBox1.ListIndex = 0
End Sub
In die TextBox1 der Userform wird das Passwort eingegeben
Per Klick auf CommandButton1 der Userform soll folgende Prozedur erfolgen:
Abgleich ob Kombi aus Benutzernamens in Combobox und Passwort in TextBox 1 gültig sind:
- Im Blatt30 "User" A2:A30 stehen die Benutzer, in B2:B30 die Passwörter
- stimmt die Kombi überein Userform2 schließen und passendes Makro ausführen (der jeweils nötige Makroname steht in D2:D30
- Der gültige Benutzername müsste in das Blatt User in die Zelle G1 kopiert werden.
- stimmt die Kombination nicht soll MsgBox "Die Kombination aus Benutzer und Passwort ist nicht bekannt" ausgeführt werden.
Für jede Hilfe bin ich dankbar.
Der Upload einer Beispieldatei hat leider nicht geklappt...
Gruß Frank
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: einfacher Login per Userform
03.01.2018 16:51:29
Hajo_Zi
Hallo Frank,
Du siehst Deine Datei. Du wolltest nur einen Ansatz.
Benutze find.
Set Rafound1 = Columns(1).Find("Erledigt", Range("A" & Rows.Count), xlFormulas, _
xlWhole, , xlNext)

Ich gebe keinen Dank für eine Rückmeldung, da ich durch solche Beiträge nicht meine Beitragszahl erhöhen muss.
Also ich schreibe keine Beiträge mit dem Betreff "Gerne u. Danke für die Rückmeldung....."
Rückmeldung ist ja in der Heutigen Zeit nicht üblich und die wenigen die eine Rückmeldung geben,
mögen mir das verzeihen, das kein Danke für eine Rückmeldung kommt.
Beiträge von Werner, Luc, robert und folgende lese ich nicht.
Anzeige
AW: einfacher Login per Userform
03.01.2018 18:29:30
tursiops
Hallo!
Danke für die schnelle Antwort.
Leider sind meine VBA-Kenntnisse sehr begrenzt. Ich habe schon erhebliche Probleme mit den Abgleich von Passwort und Benutzernamen. Den Aufruf des jeweils nötigen Makros nun in User!E2:E30 und das kopieren des aktuellen Benutzers nach erfolgreichem Login nach User!H1 bekomme ich nicht allein hin.
Ich kopiere mal meine kompletten aktuellen Entwurf. Derzeit erhalte ich immer die Meldung ungültiges Passwort. Ich habe es schon diverse Male umgeschrieben, finde jedoch den Fehler nicht....
Option Explicit
'Ein Userform mit einer Combo-, einer Textbox und einem CommandButton
'ComboBox1 für Benutzername
'TextBox1 für Kennwort
Private Sub CommandButton1_Click()
Dim Zugangsdaten As Worksheet
Dim rngBenutzer As Range
Set Zugangsdaten = Sheets("User") 'Visible-Eigenschaft = xlSheetVeryHidden
'Benutzername in Spalte A und das dazugehörige Kennwort in Spalte B
If ComboBox1.Value = "" Then
MsgBox "Benutzername darf nicht leer sein.", vbInformation, "Hinweis"
Exit Sub
End If
Set rngBenutzer = Zugangsdaten.Columns(1).Find(what:=ComboBox1.Value, lookat:=xlWhole)
If rngBenutzer Is Nothing Then
MsgBox "Benutzername nicht gefunden.", vbInformation, "Hinweis"
Exit Sub
End If
If rngBenutzer.Offset(0, 1).Text  TextBox1.Value Then
MsgBox "Das Kennwort ist nicht korrekt.", vbInformation, "Hinweis"
Exit Sub
End If
'If rngBenutzer.Offset(0, 1).Text = TextBox1.Value Then
'    MsgBox "Login erfolgreich", vbInformation, "Hinweis"
'End If
MsgBox "Login erfolgreich", vbInformation, "Hinweis"
End Sub

Private Sub UserForm_Initialize()
ComboBox1.List = Blatt30.Range("A2:A30").Value
ComboBox1.ListIndex = 0
End Sub

Anzeige
AW: einfacher Login per Userform
03.01.2018 17:27:05
Crazy
Hallo
eine Möglichkeit
Private Sub CommandButton1_Click()
Dim c As Range
With Sheets("User")
Set c = .Columns(1).Find(ComboBox1.Text, LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
If .Cells(c.Row, 2).Value = TextBox1.Value Then
.Cells(c.Row, 7).Value = ComboBox1.Text
Unload Me
Application.Run .Cells(c.Row, 4).Value
Else
MsgBox "trottel"
End If
End If
End With
End Sub

MfG Tom
Anzeige
AW: einfacher Login per Userform
03.01.2018 18:38:16
tursiops
Hallo!
Einfach Klasse! Das ist genau das was ich gesucht habe! Es funktioniert schon jetzt perfekt. Die Anpassung bekomme ich auch hin, der Code ist super verständlich. Vielen vielen Dank!
Gruß Frank
;
Anzeige
Anzeige

Infobox / Tutorial

Einfacher Login in Excel per Userform


Schritt-für-Schritt-Anleitung

  1. Erstelle die Userform:

    • Öffne Excel und gehe zum VBA-Editor (Alt + F11).
    • Füge eine neue Userform hinzu und platziere eine ComboBox (ComboBox1) für die Benutzernamen, eine TextBox (TextBox1) für das Passwort und einen CommandButton (CommandButton1) zum Auslösen des Logins.
  2. Füge die folgenden Codes in die Userform ein:

    Private Sub UserForm_Initialize()
       ComboBox1.List = Sheets("User").Range("A2:A30").Value
       ComboBox1.ListIndex = 0
    End Sub
    
    Private Sub CommandButton1_Click()
       Dim Zugangsdaten As Worksheet
       Dim rngBenutzer As Range
       Set Zugangsdaten = Sheets("User") ' Sicherstellen, dass diese Tabelle versteckt ist
    
       If ComboBox1.Value = "" Then
           MsgBox "Benutzername darf nicht leer sein.", vbInformation, "Hinweis"
           Exit Sub
       End If
    
       Set rngBenutzer = Zugangsdaten.Columns(1).Find(ComboBox1.Value, lookat:=xlWhole)
       If rngBenutzer Is Nothing Then
           MsgBox "Benutzername nicht gefunden.", vbInformation, "Hinweis"
           Exit Sub
       End If
    
       If rngBenutzer.Offset(0, 1).Value <> TextBox1.Value Then
           MsgBox "Das Kennwort ist nicht korrekt.", vbInformation, "Hinweis"
           Exit Sub
       End If
    
       ' Login erfolgreich
       MsgBox "Login erfolgreich", vbInformation, "Hinweis"
       Zugangsdaten.Cells(1, 7).Value = ComboBox1.Text ' Aktuellen Benutzer speichern
       Application.Run Zugangsdaten.Cells(rngBenutzer.Row, 4).Value ' Aufruf des spezifischen Makros
       Unload Me ' Userform schließen
    End Sub
  3. Testen:

    • Fülle die "User"-Tabelle mit Benutzernamen in Spalte A und Passwörtern in Spalte B.
    • Stelle sicher, dass die Tabelle "User" versteckt ist, um die Sicherheit zu erhöhen.

Häufige Fehler und Lösungen

  • Ungültiges Passwort: Stelle sicher, dass der Benutzername in der ComboBox und das Passwort in der TextBox korrekt eingegeben sind. Achte auf Groß- und Kleinschreibung.

  • Benutzername nicht gefunden: Überprüfe, ob der Benutzername in der Liste vorhanden ist. Die Liste wird beim Initialisieren der Userform geladen.

  • Userform schließt nicht: Vergewissere Dich, dass der Code zum Schließen der Userform (Unload Me) an der richtigen Stelle im Code steht.


Alternative Methoden

Eine alternative Methode zum Login in Excel ist die Verwendung von Eingabefeldern direkt in einem Arbeitsblatt. Du kannst die Benutzerinformationen in Zellen eingeben und mit einem Button den Login-Prozess auslösen. Das erfordert keinen VBA-Code, aber ist weniger benutzerfreundlich.


Praktische Beispiele

Hier ist ein Beispiel, wie du den Login in Excel gestalten kannst:

  • Benutzerdaten in der Tabelle "User":
    • A2: "benutzer1"
    • B2: "passwort1"
    • D2: "Makro1" (Der Name des Makros, das nach dem Login ausgeführt werden soll)

Wenn der Benutzer "benutzer1" und das Passwort "passwort1" eingibt, wird "Makro1" ausgeführt und der Benutzername in Zelle G1 der "User"-Tabelle gespeichert.


Tipps für Profis

  • Sicherheit erhöhen: Überlege, die Passwörter in einer verschlüsselten Form zu speichern, um die Sicherheit zu erhöhen.
  • Benutzerfreundlichkeit: Füge eine "Passwort vergessen?"-Option hinzu, um den Benutzern zu helfen, ihre Zugangsdaten zurückzusetzen.
  • Fehlerbehandlung: Implementiere erweiterte Fehlerbehandlungen, um die Benutzererfahrung zu verbessern.

FAQ: Häufige Fragen

1. Wie kann ich die Userform anpassen?
Du kannst die Userform im VBA-Editor öffnen und per Drag & Drop die Steuerelemente hinzufügen oder entfernen.

2. Was kann ich tun, wenn ich den VBA-Code nicht verstehe?
Es gibt viele Tutorials und Ressourcen online, die dir helfen können, die Grundlagen von VBA zu lernen. Auch in Excel-Foren findest du Unterstützung.

3. Kann ich mehrere Benutzer gleichzeitig einloggen?
Die oben beschriebene Lösung ist für den Login eines einzelnen Benutzers konzipiert. Für Multi-User-Logins benötigst du eine komplexere Lösung, möglicherweise mit Sessions oder einer Datenbank.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige