Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1912to1916
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Erweiterung Anmeldung

VBA Erweiterung Anmeldung
05.01.2023 17:00:50
Luna
Hallo ins Forum,
ich habe mal wieder ein Problem welches ich nicht lösen kann. Ich habe mir eine Userform zum anmelden mit Passwort erstellt. Je nachdem wer sich anmeldet sind bestimmte Tabellenblätter sichtbar. Das habe ich natürlich nicht alleine geschaft sondern einem tollen Video von Kai Weissmann in YouTube nachgebaut. Kann ich nur empfehlen. Ich stelle den Code mal rein.

Private Sub bttnAnmelden_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Dim rng As Range
Dim ws As Worksheet
'Benutzername suchen
Set rng = Range("tblZugriffsrechte[Benutzername]").Find(what:=txtBenutzername.Value, lookat:=xlWhole)
'Prüfen ob Benutzername angelegt
If rng Is Nothing Then
'Benutzer benachrichtigen
MsgBox "Benutzer existiert nicht"
'Prozedur beenden
Exit Sub
End If
'Prüfen ob Passwort korrekt ist
If rng.Offset(0, 1).Value  txtPasswort.Value Then
'Benutzer benachrichten
MsgBox "Das Passwort ist nicht korrekt"
'Prozedur beenden
Exit Sub
End If
'Prüfen ob Benutzer Supervisor is
If rng.Offset(0, 2).Value = "Admin1" Then
'Schleife über alle Tabellenblätter
For Each ws In ThisWorkbook.Worksheets
'Tabellenblatt einblenden
ws.Visible = xlSheetVisible
Next ws
ElseIf rng.Offset(0, 2).Value = "Benutzer" Then
'Schleife über alle Tabellenblätter
For Each ws In ThisWorkbook.Worksheets
'Prüfen
If ws.Name  "Menge" And ws.Name  "Grafik"  Then
'Tabellenblatt einblenden
ws.Visible = xlSheetVisible
End If
Next ws
End If
If rng.Offset(0, 2).Value = "Admin" Then
'Schleife über alle Tabellenblätter
For Each ws In ThisWorkbook.Worksheets
'Prüfen
If ws.Name  "Zugriffsrechte" And ws.Name  "Daten Grapas" And ws.Name  "Hilfsdaten" Then
'Tabellenblatt einblenden
ws.Visible = xlSheetVisible
End If
Next ws
End If
'UserForm schliessen
Unload Me
End Sub
Was ich jetzt gerne hätte, wenn möglich, das je nachdem welcher Benutzer sich anmeldet eine Nummer in das Tabellenblatt "Menge" in die Zelle "F1" eingetragen wird.
Durch diese Nummer werden Pfade bestimmt wo derjenige Benutzer hinterher automatisch seinen Bericht speichert. Bisher gibt jeder Benutzer seine Kennzahl händisch ein. Die Frage ist ob man das in Abhängigkeit des Passwortes oder des Benutzernamens machen kann? Ich habe die Kennzahlen in dem Tabellenblatt "Zugriffsrechte" in der Tabelle ("tblZugriffsrechte[Kennzahl]"). Das wäre die Zahl die ich dann gerne automatisch im Tabellenblatt "Menge" in die Zelle "F1" hätte.
Ich hoffe ich konnte mein Anliegen einigermaßen erklären und vielen Dank wie immer an alle die sich die Zeit nehmen um zu helfen.
Luna

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Erweiterung Anmeldung
05.01.2023 17:14:41
ralf_b
naja du mußt es dann in F1 eintragen wenn das Login erfolgreich ist.
Also abhängig von Benutzername und Passwort.
schreibe die Zuweisung oberhalb von 'UserForm schliessen
Worksheets("Menge").Range("F1") = rng.Offset(0, 3).Value 'vermutete Spalte neben Benutzernamen

AW: VBA Erweiterung Anmeldung
05.01.2023 19:04:20
Luna
Vielen Dank Ralf,
klappt super.
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige