Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1408to1412
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

Passwortabfrage

Passwortabfrage
10.02.2015 12:21:53
Langmantl,
Hallo,
habe ein Problem
in folgendem Code soll er nach klick auf dem Loginbutton, sofern der Benutzernamen vorhanden (diese Überprüfung funktioniert, soll er das Passwort aus Textbox 2 mit eintrag der Tabelle Admin überprüfen, stimmen Benutzername (Tabelle Admin Spalte a und PAsswort Tabelle Admin Spalte B überein, soll er die Tabellen anzeigen, die in der Tabelle Admin Spalte D-H auf WAHR gesetzt sind, anzeigen, wo habe ich da den FEhler gemacht?
Private Sub CommandButton1_Click()
'Überprüfung ob Textbox 1 und Textbox 2 leer sind, dann MSG Box ausgeben
strUsername = TextBox1.Value
If Trim(TextBox1.Value) = "" Then
MsgBox "Bitte geben Sie einen gültigen Benutzername in die TextBox ein ( maximal 30 Zeichen) _
- danke.", _
16, "   Hinweis!!!"
TextBox1.SetFocus
End If
If Trim(TextBox2.Value) = "" Then
MsgBox "Bitte geben Sie ein gültiges Passwort ein (maximal 8 Zeichen) - danke.", _
16, " Hinweis!!!"
End If
' Überprüfung von Benutzername und Passwort!
' Wenn Benutzername nicht vorhanden, dann Neuanlegen möglich
' Commandbutton Login deaktivieren und Commandbutton Neu
If Application.CountIf(Sheets("Admin").Range("A:A"), Trim(TextBox1.Value)) > 0 Then
Const ZeileNamen As Long = 3
Const SpalteAb As Long = 4
Dim SpalteBis As Long
Dim ZeileIn As String
Dim iWks As Long
With Sheets("Admin")
ZeileIn = Trim(TextBox2.Value)
SpalteBis = .Cells(ZeileNamen, .Columns.Count).End(xlToLeft).Column
For iWks = SpalteAb To SpalteBis
Sheets(.Cells(ZeileNamen, iWks).Value).Visible = IIf(.Cells(ZeileIn, iWks).Value, True,  _
xlVeryHidden)
Next iWks
End With
Else
MsgBox "Benutzername ist nicht vorhanden, Sie können Ihre Zugangsdaten Neu erstellen!", _
16, "Hinweis!!!)"
CommandButton2.Enabled = True
CommandButton1.Enabled = False
End If
End Sub
Gruß Benedikt

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Passwortabfrage
10.02.2015 13:09:28
Rudi
Hallo,
  With Sheets("Admin")
vRow = Application.Match(textbox1, .Columns(1), 0)
If Not IsError(vRow) Then
If .Cells(vRow, 2) = textbox2 Then
SpalteBis = .Cells(vRow, .Columns.Count).End(xlToLeft).Column
For iWks = SpalteAb To SpalteBis
Sheets(.Cells(ZeileNamen, iWks)).Visible = _
IIf(.Cells(vRow, iWks) = True, xlSheetVisible, xlSheetVeryHidden)
Next iWks
End If
Else
MsgBox "Benutzername ist nicht vorhanden, Sie können Ihre Zugangsdaten Neu erstellen!", _
16, "Hinweis!!!)"
CommandButton2.Enabled = True
CommandButton1.Enabled = False
End If
End With
Gruß
Rudi

Anzeige
AW: Passwortabfrage
10.02.2015 13:23:44
Langmantl,
Hallo Rudi,
erstmal danke für deine schnelle Antwort, um das zu testen müsste ich erstmal wissen, wie ich bei Start der Datei alle Tabellenblätter ausblende,
Ich habe es erstmal mit allen Tabellenblättern eingeblendet getestet, funktioniert irgendwie gar nix,
Auch funktioniert nun die Routine nach der Else funktion nicht mehr, also, die Controlle, ob der Benutzername schon vorhanden ist, dann soll er den CommanButton 1 deaktivieren und Commandbutton 2 aktivieren, Wenn ich im Textbox nun einen anderen nicht vorhandenen Namen verwende, passiert nix, hat aber schon funktioniert vor deinem Code
' Überprüfung von Benutzername und Passwort!
' Wenn Benutzername nicht vorhanden, dann Neuanlegen möglich
' Commandbutton Login deaktivieren und Commandbutton Neu
If Application.CountIf(Sheets("Admin").Range("A:A"), Trim(TextBox1.Value)) > 0 Then
Const ZeileNamen As Long = 3
Const SpalteAb As Long = 4
Dim SpalteBis As Long
Dim ZeileIn As String
Dim iWks As Long
With Sheets("Admin")
vRow = Application.Match(TextBox1, .Columns(1), 0)
If Not IsError(vRow) Then
If .Cells(vRow, 2) = TextBox2 Then
SpalteBis = .Cells(vRow, .Columns.Count).End(xlToLeft).Column
For iWks = SpalteAb To SpalteBis
Sheets(.Cells(ZeileNamen, iWks)).Visible = _
IIf(.Cells(vRow, iWks) = True, xlSheetVisible, xlSheetVeryHidden)
Next iWks
End If
Else
MsgBox "Benutzername ist nicht vorhanden, Sie können Ihre Zugangsdaten Neu erstellen!", _
16, "Hinweis!!!)"
CommandButton2.Enabled = True
CommandButton1.Enabled = False
End If
End With
End If
End Sub
Gruß Benedikt

Anzeige
AW: Passwortabfrage
10.02.2015 13:46:39
Rudi
Hallo,
nimm
If Application.CountIf(Sheets("Admin").....
und das letzte End If raus.
Blätter ausblenden: Ist eigentlich ein Dauerthema.
Füge ein Blatt "xxx" hinzu.
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim WKS As Worksheet
For Each WKS In Worksheets
If Not WKS Is Sheets("xxx") Then WKS.Visible = xlSheetVeryHidden
Next WKS
Save
End Sub

Gruß
Rudi

AW: Passwortabfrage
10.02.2015 13:56:12
Langmantl,
Hallo Rudi,
habe es so geändert, du siehst, es geht nicht, er zeigt mir an, dass ich einen If Fehler drin habe, ich schicke dir jetzt mal die gesamte Datei
If Application.CountIf(Sheets("Admin").Range("A:A"), Trim(TextBox1.Value)) > 0 Then
Const ZeileNamen As Long = 3
Const SpalteAb As Long = 4
Dim SpalteBis As Long
Dim ZeileIn As String
Dim iWks As Long
With Sheets("Admin")
vRow = Application.Match(TextBox1, .Columns(1), 0)
If Not IsError(vRow) Then
If .Cells(vRow, 2) = TextBox2 Then
SpalteBis = .Cells(vRow, .Columns.Count).End(xlToLeft).Column
For iWks = SpalteAb To SpalteBis
Sheets(.Cells(ZeileNamen, iWks)).Visible = _
IIf(.Cells(vRow, iWks) = True, xlSheetVisible, xlSheetVeryHidden)
Next iWks
Else: MsgBox "Passwort ist falsch"
End If
Else
MsgBox "Benutzername ist nicht vorhanden, Sie können Ihre Zugangsdaten Neu erstellen!", _
16, "Hinweis!!!)"
CommandButton2.Enabled = True
CommandButton1.Enabled = False
End If
End With
End Sub
https://www.herber.de/bbs/user/95656.xlsm
Gruß Benedikt

Anzeige
Dein Hinweis Blätter ausblenden
10.02.2015 14:16:53
Langmantl,
Hallo Rudi
ich habe das Blatt xxx erstellt, wo muss der VBA Code genau hin, Das Ausblenden bei öffnen hat schon seinen Sinn, es geht darum, dass die entsprechend Freigegebenen Blätter erst nach erfolgreichem Login angezeigt werden
Gruß Benedikt

AW: Dein Hinweis Blätter ausblenden
10.02.2015 15:35:01
Rudi
Hallo,
der Code gehört in DieseArbeitsmappe.
Das Ausblenden bei öffnen hat schon seinen Sinn
und wenn die Mappe mit deaktivierten Makros gestartet wird?
Deshalb beim Schließen ausblenden. Dann sieht der Nutzer auch bei deaktivierten Makros nur ein leeres Blatt.
Gruß
Rudi

AW: Dein Hinweis Blätter ausblenden
11.02.2015 07:41:49
Langmantl,
Hallo Rudi,
ja, das mit dem Ausblenden funktioniert ganz gut, aber irgendwie funktioniert das Makro nicht,
Wenn ich mich versuche einzuloggen mit einem vorhandenen Namen und Passwort, soll er doch die in der Tabelle mit wahr deklarierten Tabellenblätter einblenden, wenn Passwort falsch, dann soll er es einblenden, wenn noch kein Zugriff, da Tabellenblätter auf Falsch stehen, soll er es ebenfalls anzeigen und wenn anderer Benutzername eingegeben wird, soll er prüfen, ob der schon vorhanden ist, im Userform UF_Login den Button Login deaktivieren, den Button Neu anlegen aktivieren. Dann soll er die eingegebenen Daten (Benutzernamen und Passwort in die Tabelle Admin schreiben (das eintragen an sich funktioniert bereits).
Hier mein Ansatz mit deinen Veränderungen, haut aber irgendwie nicht hin
Private Sub CommandButton1_Click()
'Überprüfung ob Textbox 1 und Textbox 2 leer sind, dann MSG Box ausgeben
strUsername = TextBox1.Value
If Trim(TextBox1.Value) = "" Then
MsgBox "Bitte geben Sie einen gültigen Benutzername in die TextBox ein ( maximal 30 Zeichen) _
- danke.", _
16, "   Hinweis!!!"
TextBox1.SetFocus
End If
If Trim(TextBox2.Value) = "" Then
MsgBox "Bitte geben Sie ein gültiges Passwort ein (maximal 8 Zeichen) - danke.", _
16, " Hinweis!!!"
End If
' Überprüfung von Benutzername und Passwort!
' Wenn Benutzername nicht vorhanden, dann Neuanlegen möglich
' Commandbutton Login deaktivieren und Commandbutton Neu
If Application.CountIf(Sheets("Admin").Range("A:A"), Trim(TextBox1.Value)) > 0 Then
Const ZeileNamen As Long = 3
Const SpalteAb As Long = 4
Dim SpalteBis As Long
Dim ZeileIn As String
Dim iWks As Long
With Sheets("Admin")
vRow = Application.Match(TextBox1, .Columns(1), 0)
If Not IsError(vRow) Then
If .Cells(vRow, 2) = TextBox2 Then
SpalteBis = .Cells(vRow, .Columns.Count).End(xlToLeft).Column
For iWks = SpalteAb To SpalteBis
Sheets(.Cells(ZeileNamen, iWks)).Visible = _
IIf(.Cells(vRow, iWks) = True, xlSheetVisible, xlSheetVeryHidden)
Next iWks
Else: MsgBox "Passwort ist falsch"
End If
Else
MsgBox "Benutzername ist nicht vorhanden, Sie können Ihre Zugangsdaten Neu erstellen!", _
16, "Hinweis!!!)"
CommandButton2.Enabled = True
CommandButton1.Enabled = False
End If
End With
End If
End Sub
Hier die gesamte Datei
https://www.herber.de/bbs/user/95671.xlsm
Wer kann da helfen?
Gruß aus Berlin
Benedikt

Anzeige
AW: Dein Hinweis Blätter ausblenden
11.02.2015 11:48:03
Langmantl,

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige