Thema Datum  Von Nutzer Rating
Antwort
Rot UfLogin
16.01.2025 08:22:26 VBA_Nulpe
NotSolved
16.01.2025 18:40:14 Gast41337
NotSolved
17.01.2025 08:35:38 VBA_Nulpe
NotSolved
17.01.2025 13:18:20 Gast44982
NotSolved
21.01.2025 13:53:45 VBA_Nulpe
NotSolved
21.01.2025 18:17:38 Gast12962
Solved
23.01.2025 10:07:33 VBA_Nulpe
NotSolved
17.01.2025 13:22:16 Gast46934
NotSolved

Ansicht des Beitrags:
Von:
VBA_Nulpe
Datum:
16.01.2025 08:22:26
Views:
235
Rating: Antwort:
  Ja
Thema:
UfLogin

Guten Morgen,

ich habe hier vor einigen Tagen super Hilfe erhalten und hoffe nochmal auf so tollen Input eines Profis.

Problem:

Vor dem Öffnen des VBA-Projektes wird abgefragt, ob der Anmeldende Admin oder Benutzer ist. Hierfür greift die Abfrage auf ein Arbeitsblatt("Zugriffsrechte") zurück.

Ab D13 beginnen spaltenweise die Benutzernamen, ab E13 die hinterlegten Passwörter und ab F13 die Benutzergruppen (Admin oder Benutzer).

Ich habe mir einen Code zusammengestellt der prima funktioniert, allerdings komme ich bei dem letzten Schritt nicht weiter.

Derjenige, der sich als Benutzer anmeldet, dessen Benutzername soll automatisch auf ein anderes Tabellenblatt("Messprotokoll") in Zelle N3 eingetragen werden und diese Zelle soll gesperrt (vor Überschreiben) geschützt werden.

Wie kann ich den Code dahingehend clever ergänzen?

 

 

 

Option Explicit

Private Sub btnAnmelden_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

'Variablen dimensionieren
Dim rng As Range
Dim ws As Worksheet

'Benutzernamen suchen
Set rng = Range("tblZugriffsrechte[Benutzername]").Find(What:=txtBenutzername.Value, LookAt:=xlWhole)

'Prüfen, ob Benutzername angelegt ist
If rng Is Nothing Then

    'Benutzer benachrichtigen
    MsgBox "Dieser Benutzername ist nicht angelegt."
    
   
'Prozedur beenden
    Exit Sub

End If

'Prüfen, ob Passwort korrekt ist
If rng.Offset(0, 1).Value <> txtPasswort.Value Then

    'Benutzer benachrichtigen
    MsgBox "Das Passwort ist nicht korrekt."
    
 
  'Prozedur beenden
    Exit Sub

End If

'Prüfen, ob Benutzer Admin ist

If rng.Offset(0, 2).Value = "Admin" 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, der Blattnamen welche nicht eingblendet werden sollen
        If ws.Name <> "System1" And ws.Name <> "Zugriffsrechte" And ws.Name <> "System 2" Then
    
           
'Tabellenblatt einblenden
            ws.Visible = xlSheetVisible
        End If
    
    Next ws

End If

'UserForm schließen
Unload Me

End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)

'Prüfen, ob Schließen Button geklickt wurde
If CloseMode = vbFormControlMenu Then

    'Excel Datei Schließen
    ThisWorkbook.Close SaveChanges:=False

End If

End Sub


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:

 
 

  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot UfLogin
16.01.2025 08:22:26 VBA_Nulpe
NotSolved
16.01.2025 18:40:14 Gast41337
NotSolved
17.01.2025 08:35:38 VBA_Nulpe
NotSolved
17.01.2025 13:18:20 Gast44982
NotSolved
21.01.2025 13:53:45 VBA_Nulpe
NotSolved
21.01.2025 18:17:38 Gast12962
Solved
23.01.2025 10:07:33 VBA_Nulpe
NotSolved
17.01.2025 13:22:16 Gast46934
NotSolved