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

Passwort als UserForm

Passwort als UserForm
21.11.2022 11:59:48
Jörn
Hallo in die Runde! :-)
Ich bastele seit ein paar Wochen als (inzwischen ex-) VBA-Neuling an mehreren Tabellen rum, was eigentlich auch ganz gut klappt und zu den entsprechend gewünschten Ergebnissen führt. So weit so gut.
Jetzt brauche ich aber eine Passworteingabe, die bei der Eingabe nicht sichtbar ist, und da stoße ich gerade an meine Grenze...
Folgende Struktur soll die Startseite haben:
- Beim Start der Seite ("Startseite") soll eine Passwortabfrage erscheinen.
- Die Passwortabfrage soll verdeckt erfolgen - entweder leer, Sternchen oder Punkte
- Wird das richtige Passwort eingegeben, soll sich das Eingabefenster wieder schließen und ein bestehendes (und beim Start automatisch verdecktes)
Blatt ("Blatt1") sichtbar gemacht werden.
Die von mir gebastelten Prozeduren dafür klappen bei normaler Passworteingabe über VBA prima und problemlos
- Wird kein Passwort oder das falsche Passwort eingegeben, soll sich das Eingabefenster wieder schließen und ein anderes Blatt (Blatt2) sichtbar gemacht werden.
Hmmm, das klingt für mich als VBA-Anfänger nach einer Standardprozedur, aber ich beiße mir dabei wirklich die Zähne aus!
Ich habe über die üblichen Suchen im Internet schon viel recherchiert und konnte mir auch schon Vieles erklären, und viele hilfreiche Tipps, aus denen ich dann meine VBA-Struktur zusammenstellen konnte, habe ich auch hier im Forum finden können. Aber jetzt gerade komme ich einfach nicht weiter.
Wäre jemand von euch so nett, und würde mir mit einer entsprechenden UserForm auf die Sprünge helfen?
Das soll auch ein ganz schlankes Fenster werden: Eingabefeld, OK und Abbrechen (was die Anwendung schließen soll).
Das wäre für mich eine wirklich große Hilfe, und wer weiß, da gäbe es bestimmt auch noch andere Nutzer, die mit einer solchen UserForm was anfangen können ;-)
Vielen Dank schon mal im Voraus
Jörn

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Passwort als UserForm
21.11.2022 12:03:52
Oberschlumpf
Hi Jörn,
ich fänds besser - du - zeigst uns per Upload eine Bsp-Datei mit allem was erforderlich ist, denn nur du weißt, wie alles aussieht/aussehen soll.
Und auch du kannst in der Datei ja schon ein Passwort-Userform einbauen - wir versuchen dann, dem Ganzen "Leben einzuhauchen".
Ciao
Thorsten
AW: Passwort als UserForm
21.11.2022 13:02:22
Jörn
Ja, das ist sicherlich richtig, obwohl mir mein zusammengestückeltes Etwas in einem solchen Forum etwas unangenehm ist.
Aber den Eintrag "Excel - gut / VBA - Volldepp" gab es im Profil nicht :-)
In der normalen VBA-Variante sieht die Startstruktur z.B. so aus:

Private Sub Workbook_Open()
If ThisWorkbook.ReadOnly Then
MsgBox " aktuell in Bearbeitung durch anderen Nutzer", Title:="                    Datei gesperrt !"
ActiveWorkbook.Close (False)
End If
ActiveWorkbook.Unprotect "xxxx"
Application.Calculation = xlManual
Sheets("Blatt1").Visible = True
Sheets("Blatt2").Visible = False
Sheets("Blatt3").Visible = False
Sheets("Blatt4").Visible = False
Sheets("Blatt5").Visible = False
Sheets("Blatt6").Visible = False
Sheets("Blatt7").Visible = False
Sheets("Blatt8").Visible = False
Sheets("Blatt9").Visible = False
Sheets("Blatt10").Visible = False
Dim pw As String
pw = InputBox("                 (ohne Passwort nur Ausgabeliste)", "                                         Passworteingabe", "")
Select Case pw
Case "richtiges_Passwort"
Sheets("Blatt2").Visible = True
Sheets("Blatt1").Visible = False
Case ""
Sheets("Blatt3").Visible = True
Sheets("Blatt1").Visible = False
Case Else
ActiveWorkbook.Close savechanges:=False
End Select
ActiveWorkbook.Protect "xxxxx"
SetStartTime
End Sub
Die Passwortabfrage soll nun durch ein UserForm ersetzt werden, damit die Zahlen bei der Eingabe verdeckt werden können. Ich habe hier im Forum schon einen Lösungsvorschlag gefunden, allerdings ist der zu kompliziert, da ein Passwort-Array zugelassen wird.
Anzeige
AW: Passwort als UserForm
21.11.2022 13:08:42
Oberschlumpf
Hi,
und bitte wo ist deine Bsp-Datei?
Ciao
Thorsten
AW: Passwort als UserForm
21.11.2022 14:33:18
Jörn
Hab´s hinbekommen :-) :-) :-)
Hier die die zusammengebastelte und stark vereinfachte Version des (der?) UserForm.
Die Basis dafür stammt hier aus dem Forum, ist also nicht meinem Hirn entsprungen!!!
Grundsituation ist, dass beim Öffnen der Datei "Blatt1" erscheint, und dann, je nachdem, ob ein Passwort eingegeben wird oder nicht, auf Blatt 2 oder Blatt3 umgestellt wird.
Vielleicht kann es ja mal jemand brauchen.
Option Explicit
'Button "OK"
Sub CommandButton1_Click()
If TextBox1 "test" Then
Sheets("Blatt2").Visible = True
Sheets("Blatt1").Visible = False
Else
MsgBox "Zugriff auf Eingabe und Bearbeitung"
Sheets("Blatt3").Visible = True
Sheets("Blatt1").Visible = False
End If
Unload Me
End Sub 'Button "Abbrechen"

Private Sub CommandButton2_Click()
ActiveWorkbook.Close savechanges:=False
End Sub

Private Sub Label1_Click()
End Sub

Private Sub TextBox1_Change()
Dim pw As String
End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = 0 Then ActiveWorkbook.Close savechanges:=False
End Sub
Dann nur noch in der TextBox1 den PasswordChar mit dem gewünschten "Sternchen" oder "Kreuz" belegen, dann funktioniert´s!
Anzeige
AW: Passwort als UserForm
21.11.2022 14:55:59
onur
Etwas kompakter:

Sub CommandButton1_Click()
Sheets("Blatt2").Visible = TextBox1  "test"
Sheets("Blatt3").Visible = TextBox1 = "test"
If TextBox1 = "test" Then MsgBox "Zugriff auf Eingabe und Bearbeitung"
Sheets("Blatt1").Visible = false
Unload Me
End Sub 'Button "Abbrechen"

AW: Passwort als UserForm
21.11.2022 15:57:42
Jörn
...JAU !!!!! Das sieht gut aus! DANKE!
Probiere ich gleich mal aus! :-)
was grundsätzliches
21.11.2022 15:22:07
Rudi
Hallo,
das Ausblenden der Blätter solltest du besser in der Workbook_beforeclose-Prozedur erledigen. Sonst ist, wenn die Mappe ohne aktivierte Makros gestartet wird, das zuletzt aktive Blatt sichtbar.
Gruß
Rudi
Anzeige
AW: was grundsätzliches
21.11.2022 15:55:47
Jörn
Danke für den Hinweis, Rudi! Das werde ich mir mal ansehen!
Aktuell habe ich das so gelöst, dass beim Starten der Datei kurz der Schutz der Mappe und des Blattes aufgehoben werden, dann werden sicherheitshalber nochmal alle Blätter bis auf den Start unsichtbar geschaltet, und dann werden gleich wieder Blatt und Mappe geschützt.
Ist zwar die "VBA-Banausen-Variante", aber müsste doch eigentlich auch ausreichen, oder?
AW: was grundsätzliches
21.11.2022 16:05:42
Oberschlumpf
...müsste doch eigentlich auch ausreichen, oder?
DAS funktioniert aber nur, wenn der Anwender nach Öffnen der Datei die Makros aktiviert - denn nur dann wird das von dir Beschriebene gestartet, ansonsten...
no macros, no party!
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige