UserForm – die neusten Beiträge

Excel VBA UserForm "Passwort ändern" funktioniert nicht?

Ich komme echt nicht weiter bei so einem einfachen Code! :(

Das Problem ist, dass die UserForm einmal funktioniert, aber beim zweiten Mal sagt er "Das Passwort ist nicht korrekt", obwohl es das eigentlich sein müsste. Per Direktbereich abgefragt ergibt sich dann immer, dass das Passwort auf "" steht. Findet jemand im Code den Fehler?

PS: "NeuesPasswort1" steht für die obere, "NeuesPasswort2" für die untere Reihe.

Option Explicit

Sub CheckBoxAltesPasswort_Click()
  If CheckBoxAltesPasswort.Value = True Then
    TextBoxAltesPasswort.PasswordChar = ""
    Else
      TextBoxAltesPasswort.PasswordChar = "*"
  End If
End Sub

Sub CheckBoxNeuesPasswort1_Click()
  If CheckBoxNeuesPasswort1.Value = True Then
    TextBoxNeuesPasswort1.PasswordChar = ""
    Else
      TextBoxNeuesPasswort1.PasswordChar = "*"
  End If
End Sub

Sub CheckBoxNeuesPasswort2_Click()
  If CheckBoxNeuesPasswort2.Value = True Then
    TextBoxNeuesPasswort2.PasswordChar = ""
    Else
      TextBoxNeuesPasswort2.PasswordChar = "*"
  End If
End Sub

Sub CommandButtonAbbrechen_Click()
  Me.Hide
End Sub

Sub CommandButtonSpeichern_Click()
  If TextBoxAltesPasswort.Value <> AltesPasswort Then
    MsgBox ("Das Passwort ist nicht korrekt.")
    Exit Sub
  End If
  If TextBoxNeuesPasswort1.Value <> TextBoxNeuesPasswort2.Value Then
    MsgBox ("Die Passwörter stimmen nicht überein.")
    Exit Sub
  End If
  If Len(TextBoxNeuesPasswort1.Value) < 5 Then
    MsgBox ("Bitte wählen Sie ein Passwort mit mindestens 5 Zeichen.")
    Exit Sub
  End If
  NeuesPasswort = TextBoxNeuesPasswort1.Value
  Passwort = NeuesPasswort
  Me.Hide
End Sub

Sub UserForm_Activate()
  AltesPasswort = Passwort
End Sub
Bild zum Beitrag
Computer, Microsoft Excel, programmieren, VBA, passwort-aendern, UserForm

Wie kann ich in VBA-Excel per laufender Nummer meine Userform Einlesen und danach diese "Einlesung" bearbeiten?

Hi, ich arbeite momentan an einer Userform(Bild) womit ich in meiner Tabelle "Gesamtdaten": In die erste leere Zeile einen neuen Mitarbeiter anlegen kann.

Diese läuft auch einwandfrei.

Der Übernehmen Button hat folgende Programierung: (ist nur der teil den Ihr auch auf dem Screenshot seht ... der rest wäre zu viel :D )

Private Sub cmdÜbernehmen_Click()

Dim ELZ As Long

ELZ = Sheets("Gesamtdaten").Cells(Rows.Count, 1).End(xlUp).Row + 1

Sheets("Gesamtdaten").Cells(ELZ, 1).Value = Me.TXTlfdNr.Value
Sheets("Gesamtdaten").Cells(ELZ, 2).Value = Me.TXTLehrjahr.Value
Sheets("Gesamtdaten").Cells(ELZ, 3).Value = Me.CBAusbildungsart.Value
Sheets("Gesamtdaten").Cells(ELZ, 4).Value = Me.CBAusbilder.Value
Sheets("Gesamtdaten").Cells(ELZ, 5).Value = Me.TXTName.Value
Sheets("Gesamtdaten").Cells(ELZ, 7).Value = Me.TXTVorname.Value
Sheets("Gesamtdaten").Cells(ELZ, 8).Value = Me.TXTPersonalnummer.Value
Sheets("Gesamtdaten").Cells(ELZ, 9).Value = Me.CBGeschlecht.Value
Sheets("Gesamtdaten").Cells(ELZ, 10).Value = Me.TXTStrasseHsNr.Value
Sheets("Gesamtdaten").Cells(ELZ, 11).Value = Me.CBPLZ.Value
Sheets("Gesamtdaten").Cells(ELZ, 12).Value = Me.CBOrt.Value

Der Abbruch button:

Private Sub cmdAbbruch_Click()

Unload Me

End Sub

Nun würde ich jedoch noch gerne einen button haben der wenn ich oben im Textfeld "lfdNr" eine schon vorhandene nummer eingebe. Dieser sofort alle daten in die jeweilge Combbox/Textbox einträgt und falls ich eine änderung vornehme diese auch mit rückfrage (msgbox Datensatz wurde geänder etc.) auch wieder in die Zeile der passenden LfdNr übernimmt.

Ich bin recht neu in VBA ... bzw. arbeite diese Jahr das 1. mal überhaupt mit excel ... desswegen hole ich mir (wenn ich nach [nun fast 1 woche] suchen keine lösung zu diesem problem finde die mir "zusagt" bzw. ich diese verstehe ... ( will ja was lernen ;'D )

Ich entschuldige mich schonmal für mein etwas "konfuses" auftreten aber hoffe auf Unterstützung :)

Was villeicht auch noch zu erwähnen ist:

Die lfdNr setzt sich automatisch beim öffnen der Userform auf die LfdNr die ein Neuer Datensatz automatisch bekommen sollte.

    TXTlfdNr = Sheets("DropDown-Menü's").Range("J15") 'In J15 steht die Formel =ANZAHL2(Gesamtdaten!A2:A502)

MfG Tim

Bild zum Beitrag
VBA, einlösen, UserForm

Meistgelesene Beiträge zum Thema UserForm