Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 11:16:26
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Makro: Blattschutz PW setzen/aufheben

Makro: Blattschutz PW setzen/aufheben
28.06.2013 13:59:33
Thms
Liebes Forum,
ich möchte gerne mehrere Tabellenblätter per Makro mit einem Passwort schützen lassen. (Das Passwort soll bereits im Makro stehen.) Hierzu habe ich folgenden Code gefunden:
Sub Schutz()
Dim i As Long
For i = 1 To Sheets.Count
Sheets(i).Protect "123"
Next i
MsgBox "alle Blätter wurden geschützt"
End Sub

Nun möchte ich ein weiteres Makro, das den Blattschutz für alle Blätter wieder aufhebt - sofern das richtige Passwort eingetragen wurde. Hierzu habe ich auch einen Code gefunden, allerdings bekomme ich immer die Meldung "falsches Passwort", obwohl ich es korrekt eingebe. (Leider reichen meine Kenntnisse nicht aus um herauszufinden woran das liegt.) Hier der Code zum Aufheben:
Sub Aufheben()
Dim i As Long
Dim p1 As String
Dim p2 As String
p1 = InputBox("Bitte Passwort eingeben!", "Passworteingabe")
If p1 = "" Then
MsgBox "Kein Passwort eingegeben!" & vbLf & vbLf & "Blattschutz wird nicht nicht  _
aufgehoben!"
Exit Sub
End If
On Error GoTo fehler
For i = 1 To Sheets.Count
Sheets(i).Unprotect p1
Next i
MsgBox "alle Blätter wurden entsperrt"
fehler:
If Err Then MsgBox "Falsches Passwort"
End Sub

Evtl. kann mir diesbezüglich jemand kurz helfen?
Beste Grüße
Thomas

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: läuft bei mir richtig
28.06.2013 14:27:46
UweD
Hallo
finde keinen Fehler.
Das 1. Makro setzt in allen Blättern 123 als Passwort
Gibst du im 2. Makro 123 als Passwort in die Inputbox ein, wird alles richtig entsperrt.
Gruß UweD

AW: läuft bei mir richtig
28.06.2013 14:43:08
Luschi
Hallo Thomas & Uwe,
ich kann Uwes Test bestätigen, auch bei mir läuft das Makro korrekt durch und macht was es soll.
Dafür habe ich ein ganz anderes Phänomen. Ich kann den gesetzten Blattschutz (123) mit 333 wieder aufheben.
Das funktioniert bei mir in E_2003/E_2010 als xls-Datei und als xlsm-Datei in E_2010.
Selbst wenn ich den Blattschutz mit E_2003 setze, kann ich ihn mit E_2010 entsperren.
E_2013 hat ja auch ein Riesenproblem mit dem Blattschutz. Wenn ich alle Tab-Blätter mit einem unterschiedlichen KW schütze, kann ich alle Blätter nur noch mit dem KW des 1. Blattes wieder entsperren - WAS SOLL DASS DENN NUR NOCH WERDEN!!!
Gruß von Luschi
aus klein-Paris

Anzeige
AW: läuft bei mir richtig
02.07.2013 12:18:38
Klaus
Hallo Luschi,
WAS SOLL DASS DENN NUR NOCH WERDEN!!!
Das der Blattschutz keiner ist, ist doch altbekannt.
Ich kann den gesetzten Blattschutz (123) mit 333 wieder aufheben.
Du kannst das Passwort 123 nicht nur mit 333 wieder aufheben, sondern auch mit AAAAABBAAAA' und noch ein paar anderen Kombinationen. Aber weiter geh ich hier nicht ins Detail :-)
Grüße,
Klaus M.vdT.

Anzeige
AW: Makro: Blattschutz PW setzen/aufheben
28.06.2013 14:34:30
hary
Moin Thomas
Probier mal.
Sub Aufheben()
Dim i As Long
Dim p1 As String
Dim p2 As String
Dim wort As String
p1 = InputBox("Bitte Passwort eingeben!", "Passworteingabe")
If p1 = "123" Then
For i = 1 To Sheets.Count
Sheets(i).Unprotect p1
Next i
MsgBox "alle Blätter wurden entsperrt"
ElseIf p1  "123" Then
MsgBox IIf(p1 = "", "kein", "falsches") & " Passwort eingegeben!" & vbLf & vbLf & " _
Blattschutz wird nicht nicht aufgehoben!"
Exit Sub
End If
End Sub

gruss hary

Anzeige
AW: Makro: Blattschutz PW setzen/aufheben
28.06.2013 15:29:00
Thms
Hallo,
vielen Dank für Eure Tests .. mittlerweile funktioniert es bei mir auch. Wer weiss, was ich da vorher angestellt habe!
Vielen Dank auch an Harry, der nochmal einen Code gepostet hat!
Ich habe jetzt allerdings noch ein weiteres Problem: Wenn ich die Blätter geschützt habe, kann ich gruppierte Zeilen nicht mehr aufklappen. Gibt es hierzu eine Lösung?
Beste Grüße
Thomas

Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Blattschutz in Excel mit Makros verwalten


Schritt-für-Schritt-Anleitung

Um den Blattschutz in Excel per Makro zu setzen und aufzuheben, folge diesen Schritten:

  1. Blattschutz setzen:

    • Öffne den Visual Basic for Applications (VBA) Editor (Alt + F11).
    • Füge ein neues Modul hinzu (Rechtsklick auf "VBAProject" > Einfügen > Modul).
    • Kopiere den folgenden Code in das Modul:
    Sub Schutz()
       Dim i As Long
       For i = 1 To Sheets.Count
           Sheets(i).Protect "123" ' Passwort für den Blattschutz
       Next i
       MsgBox "Alle Blätter wurden geschützt"
    End Sub
  2. Blattschutz aufheben:

    • Füge den folgenden Code in dasselbe Modul ein:
    Sub Aufheben()
       Dim i As Long
       Dim p1 As String
       p1 = InputBox("Bitte Passwort eingeben!", "Passworteingabe")
       If p1 = "" Then
           MsgBox "Kein Passwort eingegeben!" & vbLf & vbLf & "Blattschutz wird nicht aufgehoben!"
           Exit Sub
       End If
       On Error GoTo fehler
       For i = 1 To Sheets.Count
           Sheets(i).Unprotect p1
       Next i
       MsgBox "Alle Blätter wurden entsperrt"
       Exit Sub
    fehler:
       MsgBox "Falsches Passwort"
    End Sub
  3. Makros ausführen:

    • Schließe den VBA-Editor und kehre zu Excel zurück.
    • Führe das Makro „Schutz“ aus, um alle Blätter zu schützen.
    • Führe das Makro „Aufheben“ aus, um den Blattschutz wieder aufzuheben.

Häufige Fehler und Lösungen

  • Fehler: "Falsches Passwort":

    • Stelle sicher, dass du das richtige Passwort („123“) eingibst. Es könnte sein, dass du versehentlich ein Leerzeichen oder einen anderen Zeichen eingibst.
  • Blattschutz nicht aufhebbar:

    • Wenn du den Blattschutz mit einem anderen Passwort als „123“ gesetzt hast, wird das Aufheben nicht funktionieren. Stelle sicher, dass die Passwörter übereinstimmen.

Alternative Methoden

  • Blattschutz ohne Makros:

    • Du kannst den Blattschutz manuell über die Registerkarte „Überprüfen“ in Excel setzen und aufheben. Klicke auf „Blattschutz“ und gib das Passwort ein.
  • VBA-Skripte für spezifische Blätter:

    • Wenn du nur bestimmte Blätter schützen oder aufheben möchtest, kannst du den Code anpassen, indem du die Sheets(i) durch den Namen des Blattes ersetzt, z.B. Sheets("Blatt1").Protect "123".

Praktische Beispiele

  • Makro für den Blattschutz aufheben für alle Blätter:

    Sub AufhebenAlle()
      Dim i As Long
      Dim p1 As String
      p1 = InputBox("Bitte Passwort eingeben!", "Passworteingabe")
      For i = 1 To Sheets.Count
          Sheets(i).Unprotect p1
      Next i
      MsgBox "Blattschutz für alle Blätter aufgehoben"
    End Sub
  • Kennwortschutz aufheben für ein bestimmtes Blatt:

    Sub AufhebenBestimmtesBlatt()
      Sheets("Blatt1").Unprotect "123"
      MsgBox "Blattschutz für Blatt1 aufgehoben"
    End Sub

Tipps für Profis

  • Passwörter sicher verwalten: Achte darauf, dass du deine Passwörter nicht im Klartext im VBA-Code speicherst. Überlege, ob du diese extern speichern kannst.

  • Fehlerbehandlung: Implementiere eine bessere Fehlerbehandlung im VBA-Code, um spezifische Fehler leichter identifizieren und beheben zu können.

  • VBA-Sicherheitseinstellungen: Stelle sicher, dass die Makros in Excel aktiviert sind, um die Funktionen nutzen zu können. Überprüfe die Sicherheitseinstellungen unter „Datei“ > „Optionen“ > „Sicherheitscenter“.


FAQ: Häufige Fragen

1. Wie kann ich den Blattschutz für alle Blätter in Excel aufheben? Um den Blattschutz für alle Blätter aufzuheben, kannst du das oben genannte Makro „Aufheben“ verwenden.

2. Was kann ich tun, wenn ich das Passwort vergessen habe? Wenn du das Passwort vergessen hast, gibt es keine einfache Möglichkeit, den Blattschutz aufzuheben. Du musst möglicherweise auf Drittanbieter-Tools zurückgreifen oder das Workbook neu erstellen.

3. Funktionieren diese Makros in allen Excel-Versionen? Die gezeigten Makros sollten in den meisten Excel-Versionen (ab Excel 2003) funktionieren, aber es kann Unterschiede in der Handhabung des Blattschutzes geben. Achte darauf, die Version zu testen, die du verwendest.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige