Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Probleme bei Passworteingabe zum Entsperren von Excelmappe

Forumthread: Probleme bei Passworteingabe zum Entsperren von Excelmappe

Probleme bei Passworteingabe zum Entsperren von Excelmappe
07.07.2025 16:42:01
TheoRetisch
Hallo zusammen,

ich würde mich über ein wenig "Schwarmwissen freuen...

Zum Entsperren meiner Exceltabellenblätter nutzte ich folgendes Makro:

Sub Entsperren()
Dim Arbeitsblatt As Worksheet
Dim BlattKennwort As String
BlattKennwort = InputBox("Bitte Kennwort für den Blattschutz eingeben um die Arbeitsmappe zu entsperren.", "Kennwort eingeben...")
If BlattKennwort > "" Then
ActiveWorkbook.Unprotect Password:=BlattKennwort
For Each Arbeitsblatt In Sheets
With Arbeitsblatt
.Unprotect Password:=BlattKennwort
End With
Next Arbeitsblatt
MsgBox "Daten wurden entsperrt."
Worksheets("Tabelle1").Activate
End If

End Sub

Es funktioniert (fast) alles so wie es soll. Die MsgBox zur Passworteingabe wird aufgerufen und bei richtiger Eingabe des PW die Excelmappe entsperrt.

Und jetzt meine zwei Probleme:
- Bei falscher PW-Eingabe wird die Eingabemeldung "Debuggen" aufgerufen. Wie kann ich erreichen, dass bei falschem Passwort nichts passiert oder die Meldung kommt "PW falsch".

- Wenn auf "Abbrechen" geklickt wird, dann werden die Tabellenblätter auch ohne PW-Eingabe trotzdem entsperrt... Wie kann ich erreichen, dass bei "Abbrechen" die MSsgBox ohne weitere Aktion geschlossen wird?

Kann mir jemand helfen, die Probleme zu lösen? Vorab schon mal vielen Dank!
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Probleme bei Passworteingabe zum Entsperren von Excelmappe
07.07.2025 17:06:09
daniel
Hi
probiers mal so:

Sub Entsperren()

Dim Arbeitsblatt As Worksheet
Dim BlattKennwort As String
BlattKennwort = InputBox("Bitte Kennwort für den Blattschutz eingeben um die Arbeitsmappe zu entsperren.", "Kennwort eingeben...")
If BlattKennwort = "" Then
MsgBox "Abbruch"
Else
On Error GoTo PW_Falsch
ActiveWorkbook.Unprotect Password:=BlattKennwort
On Error GoTo 0
For Each Arbeitsblatt In Sheets
With Arbeitsblatt
.Unprotect Password:=BlattKennwort
End With
Next Arbeitsblatt
MsgBox "Daten wurden entsperrt."
Worksheets("Tabelle1").Activate
End If

Exit Sub
PW_Falsch:
MsgBox "Passwort falsch"
End Sub


dein zweites Problem kann ich nicht nachvollziehen.
Gruß Daniel
Anzeige
AW: Probleme bei Passworteingabe zum Entsperren von Excelmappe
07.07.2025 17:06:16
Yal
Hallo Theo,

mit einer Fehlerbehandlung:
Sub Entsperren()

Dim W As Worksheet
Dim BlattKennwort As String

BlattKennwort = InputBox("Bitte Kennwort für den Blattschutz eingeben um die Arbeitsmappe zu entsperren.", "Kennwort eingeben...")
On Error GoTo Catch
Try:
If BlattKennwort > "" Then
ActiveWorkbook.Unprotect Password:=BlattKennwort
For Each W In Worksheets
W.Unprotect Password:=BlattKennwort
Next Arbeitsblatt
MsgBox "Daten wurden entsperrt."
Worksheets("Tabelle1").Activate
GoTo Finally
End If
Catch:
MsgBox "Password ist falsch."
Finally:
Err.resume
End Sub

Try-Catch-Finally sind in VBA nur Springmarke, ohne semantische Bedeutung. Jedoch kannst Du nach diesem Begriff googlen.

VG
Yal
Anzeige
Mal theoretisch …
07.07.2025 17:38:55
RPP63
Moin!
Theoretisch nachgefragt:
Wenn Du nur mittels VBA Änderungen vornehmen willst, brauchst Du doch nicht alle Sheets mir dem gleichen(?) Passwort entsperren.
Für so etwas gibt es den Parameter UserInterface:=True in der .Worksheet.Protect-Methode

Bisken Butter bei Fische?

Gruß Ralf
Anzeige
AW: Probleme bei Passworteingabe zum Entsperren von Excelmappe
08.07.2025 23:41:29
TheoRetisch
Vielen Dank für die Hilfe :)
AW: Mal theoretisch …
07.07.2025 17:54:30
Luschi
Hallo Ralf,

- die Idee klingt ganz passabel
- aber Excel vergißt beim Schließen der Arbeitsmappe die Parameter-Einstellung 'UserInterfaceOnly:=True' beim Blattschutz
- und beim erneuten Öffnen der AM hat dieser Parameter den Wert 'False'
- also muß die Prozedur zum Setzen des Blattschutzes der Blätter + Parameter 'UserInterfaceOnly:=True' erneut erfolgen
  im Ereignis 'Private Sub Workbook_Open()'

Gruß von Luschi
aus klein-Paris
Anzeige
Auch praktisch bekannt …
07.07.2025 17:57:02
RPP63
Aber Du hast natürlich recht, noch einmal explizit darauf hinzuweisen.

Gruß Ralf
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18