Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
688to692
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
688to692
688to692
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Userform Passwort
27.10.2005 19:46:19
Dominik
ausgangslage:
zuerst soll über eine userform (passwort) das gültige passwort abgefragt werden. wenn dieses falsch eingegeben worden ist soll beendet werden, sonst weiter und das aktuelle blatt löschen.
Problem:
wenn dann passwort falsch eingegeben wurde, wird "fertig" nicht ausgewählt und das tabellenblatt wird trotzdem gelöscht, anstatt "exit sub" abzubrechen.
eingegeben in ein normales modul:
Sub TabDel()
'Userform Passwort anzeigen
Passwort.Show
' Tabellenblatt löschen
ActiveSheet.Delete
Fertig: Exit Sub
End Sub
eingegeben in die userform "Passwort":
Const Passw = "Test"

Private Sub CommandButton1_Click()
If TextBox1.Value = Passw Then
Unload Me
Else
Label2.Visible = True
GoTo Fertig
End If
End Sub


Private Sub UserForm_Initialize()
Dim frm As UserForm
Set frm = Passwort
frm.TextBox1.PasswordChar = "X"
frm.TextBox1.SetFocus
frm.Label2.Visible = False
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Userform Passwort
27.10.2005 20:36:34
Matthias
Hallo Dominik,
Nimm ein Userform mit
- Label1 (Bezeichnung "Passwort:")
- TextBox1 (Eigenschaft PasswordChar: "X")
- CommandButton1 (OK)
- CommandButton2 (Abbrechen)
und diesen Code fürs Userform:

Option Explicit
Dim pw()
Dim pwList As Boolean
'Button "OK"
Private Sub CommandButton1_Click()
Dim i As Integer, found As Boolean
If pwList Then
For i = 0 To UBound(pw)
If TextBox1 = pw(i) Then found = True: Exit For
Next i
If Not found Then
MsgBox "falsches Kennwort!"
TextBox1 = ""
TextBox1.SetFocus
Exit Sub
End If
End If
Unload Me
End Sub
'Button "Abbrechen"
Private Sub CommandButton2_Click()
TextBox1 = ""
Unload Me
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = 0 Then TextBox1 = ""
End Sub
Public Function GetPassword(Optional arr) As String
If IsMissing(arr) Then
pwList = False
Else
If TypeName(arr) = "String" Then
pwList = True
ReDim pw(0)
pw(0) = arr
Else
pwList = True
ReDim pw(UBound(arr))
pw = arr
End If
End If
Me.Show
GetPassword = TextBox1
End Function

Dann in ein Modul:

Sub TabDel()
'Userform Passwort anzeigen
If Passwort.GetPassword("Test") = "" Then Exit Sub
' Tabellenblatt löschen
ActiveSheet.Delete
End Sub


Die Routine ist auch für mehrere Kennwörter geschrieben, die man in einem Array übergeben kann:
If Passwort.GetPassword(Array("Test", "123")) = "" Then Exit Sub
Dann gingen die Passwörter "Test" und "123".

Gruß Matthias
Anzeige
AW: Userform Passwort
27.10.2005 20:39:21
Luschi
Hallo Dominik,
mach es so:

'in ein normales modul:
Public passOK As Boolean
Sub TabDel()
'Userform Passwort anzeigen
Passwort.Show
If passOK Then
'Passwort ist richtig
'Tabellenblatt löschen
ActiveSheet.Delete
Else
'Passwort ist falsch
'Mache was anderes oder nichts
End If
End Sub
eingegeben in die userform "Passwort":
Const Passw = "Test"
Private Sub CommandButton1_Click()
If TextBox1.Value = Passw Then
passOK = True
Else
passOK = False
Label2.Visible = True
End If
Unload Me
End Sub
Gruß von Luschi
aus klein-Paris

6 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige