Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1284to1288
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 per UserForm

Passwortabfrage per UserForm
09.11.2012 12:56:33
Ina
Hallo und guten Tag ins Forum,
ich habe eine UserForm, in der über Textbox1 der Name und über Textbox2 das Passwort abgefragt werden. Das klappt auch soweit...
Mein Problem, meine Fragen:
Ist es möglich, die Passwortabfrage auf 3 Abfragen zu beschränken und, falls die Angaben 3 x falsch waren, Excel zu beenden? Momentan erfolgt die Abfrage unendlich.
Ist es möglich, mehr als eine Person mit Passwort zu hinterlegen?
Wer kann mir den Code-Schnipsel entsprechend anpassen? Vielen Dank!
LG Ina
Private Sub CommandButton1_Click()
Dim Na As String, NaFix As String
Dim Pw As String, PwFix As String
NaFix = "Ina Testmann"
PwFix = "Ab1234"
Na = TextBox1
Pw = TextBox2
If Na  NaFix Or Pw  PwFix Then
If MsgBox("Keine oder falsche Angaben! Neuer Versuch?", vbYesNo) = vbYes Then
UserForm4.TextBox1 = ""
UserForm4.TextBox2 = ""
TextBox1.SetFocus
Exit Sub
Else
ActiveWorkbook.Close
End If
End If
If Na = NaFix And Pw = PwFix Then MsgBox "Sie dürfen rein!"
Worksheets("Tabelle1").Visible = True
Worksheets("Tabelle2").Visible = True
Worksheets("Tabelle3").Visible = True
Worksheets("Tabelle4").Visible = True
Worksheets("Tabelle5").Visible = True
Sheets("Tabelle1").Select
Range("F11").Select
Unload Me
End Sub

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Passwortabfrage per UserForm
09.11.2012 13:25:40
Rudi
Hallo,
wen willst du damit abschrecken?

Private Sub CommandButton1_Click()
Dim Na As String, NaFix
Dim Pw As String, PwFix
Static iCounter As Integer
NaFix = Array("Ina Testmann", "Test1")
PwFix = Array("Ab1234", "1234")
If iCounter  PwFix(Application.Match(Na, NaFix, 0) - 1) Then
MsgBox "Passwort falsch"
Exit Sub
End If
Else
ActiveWorkbook.Close
End If
iCounter = 0
MsgBox "Sie dürfen rein!"
Worksheets("Tabelle1").Visible = True
Worksheets("Tabelle2").Visible = True
Worksheets("Tabelle3").Visible = True
'  Worksheets("Tabelle4").Visible = True
'  Worksheets("Tabelle5").Visible = True
Sheets("Tabelle1").Select
Range("F11").Select
Unload Me
End Sub

Gruß
Rudi

Anzeige
AW: Passwortabfrage per UserForm
09.11.2012 14:13:00
Ina
Hallo Rudi,
danke für Deine Hilfe! Das klappt schon fast perfekt...
Abschrecken kann ich damit wahrscheinlich nur reine Excel-Anwender und Neulinge - also mich :o) - aber es gibt irgendwie ein gutes Gefühl, das vielleicht doch nicht jeder die Mappe öffnen kann...
Ich habe noch einen kleinen Fehler festgestellt und gleichzeitig eine Bitte.
Nach der ersten und zweiten falschen Eingabe zeigt die MsgBox richtig "Name falsch" bzw. "Passwort falsch" an.
Nach der dritten falschen Eingabe zeigt die MsgBox fälschlich "Sie dürfen rein!" an und die Tabellenblätter werden angezeigt!
Anschliessend kommt die Excel-Abfrage "Sollen Ihre Änderungen ... gespeichert werden?".
Meine Bitte:
Ist es noch möglich, bei falscher Eingabe den Inhalt der Textboxen 1 und 2 zu leeren und den Focus anschliessend auf Textbox1 zu setzen?
Danke und lG Ina

Anzeige
AW: Passwortabfrage per UserForm
09.11.2012 14:41:58
Rudi
Hallo,
aber es gibt irgendwie ein gutes Gefühl, das vielleicht doch nicht jeder die Mappe öffnen kann...

dafür gibt's doch den Schreib-/ Leseschutz.
Private Sub CommandButton1_Click()
Dim Na As String, NaFix
Dim Pw As String, PwFix
Static iCounter As Integer
NaFix = Array("Ina Testmann", "Test1")
PwFix = Array("Ab1234", "1234")
Na = TextBox1
Pw = TextBox2
iCounter = iCounter + 1
If IsError(Application.Match(Na, NaFix, 0)) Then
MsgBox "Name falsch"
If iCounter = 3 Then ActiveWorkbook.Close False
TextBox1 = ""
TextBox2 = ""
TextBox1.SetFocus
Exit Sub
End If
If Pw  PwFix(Application.Match(Na, NaFix, 0) - 1) Then
MsgBox "Passwort falsch"
If iCounter = 3 Then ActiveWorkbook.Close False
TextBox2 = ""
TextBox2.SetFocus
Exit Sub
End If
MsgBox "Sie dürfen rein!"
Worksheets("Tabelle1").Visible = True
Worksheets("Tabelle2").Visible = True
Worksheets("Tabelle3").Visible = True
'  Worksheets("Tabelle4").Visible = True
'  Worksheets("Tabelle5").Visible = True
Sheets("Tabelle1").Select
Range("F11").Select
Unload Me
End Sub

Gruß
Rudi

Anzeige
Danke Rudi! Bitte lesen... :o)
09.11.2012 14:54:50
Ina
Hallo Rudi,
danke schön für Deine Mühe! Klappt bestens!
Ein Satz zur Passwortabfrage...
Schreib-/ Leseschutz ist schon richtig, aber darf ich wenigstens als letztes Argument die Passwortabfrage als eventuelle und kleine Abschreckung ins Feld führen... ;o)
LG Ina

AW: Passwortabfrage per UserForm
09.11.2012 14:13:06
Ina
Hallo Rudi,
danke für Deine Hilfe! Das klappt schon fast perfekt...
Abschrecken kann ich damit wahrscheinlich nur reine Excel-Anwender und Neulinge - also mich :o) - aber es gibt irgendwie ein gutes Gefühl, das vielleicht doch nicht jeder die Mappe öffnen kann...
Ich habe noch einen kleinen Fehler festgestellt und gleichzeitig eine Bitte.
Nach der ersten und zweiten falschen Eingabe zeigt die MsgBox richtig "Name falsch" bzw. "Passwort falsch" an.
Nach der dritten falschen Eingabe zeigt die MsgBox fälschlich "Sie dürfen rein!" an und die Tabellenblätter werden angezeigt!
Anschliessend kommt die Excel-Abfrage "Sollen Ihre Änderungen ... gespeichert werden?".
Meine Bitte:
Ist es noch möglich, bei falscher Eingabe den Inhalt der Textboxen 1 und 2 zu leeren und den Focus anschliessend auf Textbox1 zu setzen?
Danke und lG Ina
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige