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

Forumthread: Blattschutz global mit VBA aufheben

Blattschutz global mit VBA aufheben
20.07.2006 13:46:37
Claudia
Hallo alle zusammen,
wenn ich mit dem Makrorecorder aufzeichne, zeigt er mir anschließend nicht das Passwort an.
Mein Problem ist, das ich eine Datei habe mit 15 Blättern und alle sind mit dem gleichen Passwort geschützt.
Wenn ich nun alle geschützten Blätter aufheben möchte, was muss ich dann schreiben? Wenn möglich auch für das setzten wieder.
Das Passwort ist mir bekannt und lautet claudia. &lt-- Sinnig ne?
Kann mir jemand bitte helfen, da ich regelmäßig etwas in jedem Blatt eintragen muss und das manuelle Aufheben und wieder schützen extrem langatmig ist.
Vielen Dank Gruß Claudia
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Blattschutz global mit VBA aufheben
20.07.2006 13:57:00
OttoH
Hallo Claudia,
folgende Makros schützen / entschützen alle Tabellen in der Mappe:

Sub Schutz_rein()
Dim Blatt As Worksheet
For Each Blatt In ActiveWorkbook.Sheets
Blatt.Protect Password:="Claudia", DrawingObjects:=True, Contents:=True, Scenarios:=True
Next
End Sub


Sub Schutz_raus()
Dim Blatt As Worksheet
For Each Blatt In ActiveWorkbook.Sheets
Blatt.Unprotect ("Claudia")
Next
End Sub

gruß OttoH
Anzeige
Danke Otto hilft mir ungemein. o.T.
20.07.2006 14:08:26
Claudia
AW: Blattschutz global mit VBA aufheben
20.07.2006 14:13:19
IngGi
Hallo Claudia, hallo Otto,
gestattet mir eine kleine Korrektur. Wenn die Arbeitsmappe neben Tabellenblättern auch Diagrammblätter enthält, führen die beiden Makros zu Laufzeitfehlern, weil ein Diagrammblatt eben kein Worksheet ist (Typen unverträglich).
Wenn du neben Tabellenblättern auch Diagrammblätter schützen willst, solltest du die Variable Blatt daher nicht "As Worksheet", sondern "As Object" deklarieren. Willst du dagegen nur Tabellenblätter schützen, deklarierst du die Variable Blatt "As Worksheet", verwendest aber statt der Auflistung "ActiveWorkbook.Sheets" die Auflistung "ActiveWorkbook.Worksheets".
Gruß Ingolf
Anzeige
AW: Blattschutz global mit VBA aufheben
20.07.2006 14:52:29
OttoH
Hallo Ingolf,
Korrektur gestattet und auch gerne angenommen.
Danke
OttoH
AW: Blattschutz global mit VBA aufheben
20.07.2006 15:58:13
Claudia
Hallo Ingolf,
danke für den Zusatztip, haber aber keine Grafikblätter gespeichert. Werde mir trotzdem Deine Anmerkung merken.
Gruß
Claudia
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Blattschutz global mit VBA aufheben


Schritt-für-Schritt-Anleitung

Um den Blattschutz für alle Blätter in einer Excel-Arbeitsmappe aufzuheben, kannst du ein einfaches VBA-Makro verwenden. Folge diesen Schritten:

  1. Öffne deine Excel-Datei und drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  2. Klicke im Menü auf Einfügen und wähle Modul, um ein neues Modul hinzuzufügen.

  3. Füge den folgenden Code ein, um den Blattschutz für alle Blätter aufzuheben:

    Sub Schutz_raus()
       Dim Blatt As Worksheet
       For Each Blatt In ActiveWorkbook.Sheets
           Blatt.Unprotect Password:="Claudia"
       Next
    End Sub
  4. Um den Blattschutz wieder zu setzen, füge diesen Code in das gleiche Modul ein:

    Sub Schutz_rein()
       Dim Blatt As Worksheet
       For Each Blatt In ActiveWorkbook.Sheets
           Blatt.Protect Password:="Claudia", DrawingObjects:=True, Contents:=True, Scenarios:=True
       Next
    End Sub
  5. Schließe den VBA-Editor und kehre zu Excel zurück.

  6. Führe das Makro Schutz_raus aus, um den Blattschutz aufzuheben.


Häufige Fehler und Lösungen

  • Fehler: Laufzeitfehler 1004.

    • Lösung: Stelle sicher, dass das Passwort korrekt eingegeben ist. Zudem kann es hilfreich sein, die Blätter in der richtigen Reihenfolge zu überprüfen.
  • Fehler: Diagrammblätter werden nicht berücksichtigt.

    • Lösung: Ändere den Typ der Variable Blatt im VBA-Code von As Worksheet zu As Object, wenn du auch Diagrammblätter einbeziehen möchtest.

Alternative Methoden

Wenn du kein VBA verwenden möchtest, kannst du den Blattschutz auch manuell aufheben:

  1. Klicke mit der rechten Maustaste auf das Blatt, das du entsperren möchtest.
  2. Wähle Blattschutz aufheben.
  3. Gib das Passwort ein und bestätige.

Für ein schnelles Aufheben des Blattschutzes für alle Blätter gibt es jedoch kein eingebautes Excel-Feature, weshalb VBA die beste Methode ist.


Praktische Beispiele

Hier ist ein Beispiel, wie du ein Makro für das Aufheben des Blattschutzes in einer Arbeitsmappe mit 15 Blättern verwenden würdest. Wenn alle Blätter mit dem gleichen Passwort Claudia geschützt sind, kannst du den oben angegebenen Code verwenden.

Wenn du unterschiedliche Passwörter für verschiedene Blätter hast, musst du den Code anpassen, um eine Liste von Blattnamen und Passwörtern zu verwenden.


Tipps für Profis

  • Automatisierung: Du kannst das Makro so anpassen, dass es beim Öffnen der Arbeitsmappe automatisch ausgeführt wird. Füge dazu den Aufruf des Makros Schutz_raus in das Workbook_Open Ereignis ein.

  • Passwortsicherheit: Überlege, ein sichereres Passwort als "Claudia" zu verwenden, um die Sicherheit deiner Arbeitsmappe zu erhöhen.


FAQ: Häufige Fragen

1. Wie kann ich den Blattschutz mit einer Tastenkombination aufheben? Es gibt keine standardisierte Tastenkombination in Excel, um den Blattschutz für alle Blätter aufzuheben. VBA ist hier die effizienteste Lösung.

2. Kann ich den Blattschutz ohne Passwort aufheben? Das Aufheben des Blattschutzes ohne Passwort ist nicht möglich, es sei denn, du verwendest spezielle Software oder Makros, die darauf ausgelegt sind, Passwörter zu knacken.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige