VBA: UserForm öffnen + schließen Passwort

Hallo,

ich hatte schon vor einiger Zeit, die gleiche Frage gestellt,
nur scheinen die Tipps von damals bei mir nicht zu funktionieren.

Ich möchte wenn ich eine Excel-Arbeitsmappe öffne,
daß direkt das UserForm gezeigt wird.
Über
Private Sub Workbook_open
UserForm1.show
End Sub
funktioniert es nicht. Hat jemand einen Verbesserungsvorschlag?
Die Makro-Sicherheit habe ich normalerweise auf Mittel stehen,
aber auch bei niedrig läuft es nicht.

Das Beenden der UserForm soll Passwortgeschützt sein.
Gibts da ne andere Methode als über eine zweite UserForm zu gehen?

Vielen Dank und schöne Grüße,
stephy

Hallo Stephy,

also Private Sub Workbook_open sollte eigentlich schon funktionieren, steht’s denn auch im richtigen Modul? Denn diese spezielle Methode muss unter Microsoft Excel Objekte - DieseArbeitsmappe stehen, sonst klappts wirklich nicht.

Die Sache mit dem Passwortschutz ist nicht sehr zuverlässig. Denn es ist schwer, den Benutzer daran zu hindern VBA zum Abbruch zu überreden bzw. ihn dazu zu zwingen, die Makroausführung und damit das Zeigen des UserForms zu aktivieren.

Wäre vielleich interessant zu erfahren, was genau du damit erreichen willst, vielleicht gibt es ja noch andere Möglichkeiten.

Gruß
Daniel

Hallo Daniel,

Danke für Deine schnelle Hilfe.
Werd gleich mal nachschauen, in welchem Modul ich es stehen habe.

Zum Thema Passwort:
Ich habe eine UserForm die ich über einen CommandButton schließen möchte, aber nur wenn man das Passwort weiß. Das X habe ich gesperrt.
Ist nicht schlimm, wenns nicht 100%ig sicher ist, ist nur ne Übungsaufgabe. Mir ist nur bisher nichts anderes eingefallen, als beim Klick auf den CommandButton ein Textfeld sichtbar zu machen, wo man das Passwort eingeben kann.
Gibts was Schöneres?

Nochmals Danke und Gruß,
stephy

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,
hatte den Code tatsächlich im falschen Modul stehen,
leider klappt es trotzdem nicht.
Kann es sein, daß er die Userform beim Öffnen noch gar nicht kennt?
Ich gelange jedenfalls immer zum Fehler.

Hab versucht Excel danach zu minimieren.
In meinem Code steht jetzt:

UserForm1.Show
Application.WindowState = xlMinimized

Aber der Fehler wird in der Show.Zeile angezeigt.

Schon mal Danke für Eure Hilfe!!

Hallo Stephy,

also Private Sub Workbook_open sollte eigentlich schon
funktionieren, steht’s denn auch im richtigen Modul? Denn
diese spezielle Methode muss unter Microsoft Excel Objekte -
DieseArbeitsmappe stehen, sonst klappts wirklich nicht.

Die Sache mit dem Passwortschutz ist nicht sehr zuverlässig.
Denn es ist schwer, den Benutzer daran zu hindern VBA zum
Abbruch zu überreden bzw. ihn dazu zu zwingen, die
Makroausführung und damit das Zeigen des UserForms zu
aktivieren.

Wäre vielleich interessant zu erfahren, was genau du damit
erreichen willst, vielleicht gibt es ja noch andere
Möglichkeiten.

Gruß
Daniel

Hallo Stephy,

Kann es sein, daß er die Userform beim Öffnen noch gar nicht
kennt?

Das kann ich mir nicht vorstellen, denn dieses Vorgehen benutzen wir schon seit ewig und 3 Tagen. Das Formular liegt doch im selben Workbook, oder?

Ich gelange jedenfalls immer zum Fehler.

Welche Fehlermeldung? Vielleicht führt das Userform ja bereits beim Laden Code aus und der hat nen Fehler?

Mit der Passworteingabe ist ein Textfeld sicherlich noch die beste Wahl, denn eine Inputbox z.B. läßt keine Maskierungszeichen zu. Aber wie gesagt, du musst dann das Formular noch ganz schön zumauern (z.B. das X rechts oben)

Viele Grüße
Daniel

Hallo Daniel,

Userform liegt im selben Workbook.
Fehlermeldung ist Laufzeitfehler/Objekt erforderlich und beim Debuggen bleibt er auf Userform1.show stehen…

Hast noch eine andere Idee, woran es scheitern könnte?

Das „X“ habe ich deaktiviert und arbeite jetzt über ne Textbox.
Wie gesagt, ist nur eine Art Übungsprojekt - bin ja noch am Anfang meiner VBA-Künste :smile:

Gruß,
stephy

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Stephy,

klingt vielleicht dumm, aber bist du dir auch sicher, dass das Ding Userform1 heisst (vielleicht krebst irgendwo ein Leerzeichen rum oder so). Denn dieser Fehler deutet darauf hin, dass VBA mit dem Namen Userform1 nichts anfangen kann.

Gruß
Daniel