Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Blattschutz per Makro

Forumthread: Blattschutz per Makro

Blattschutz per Makro
05.08.2002 12:17:22
Werner
Hallo EXCEL-Fans,
eines meiner Probleme macht mich langsam wahnsinnig, es will einfach nicht klappen. Ich möchte in einem Makro den Blattschutz aufheben, einige Zellwerte löschen oder verändern und dann den Blattschutz wieder einschalten (alles in einem Makro). Ich habe schon einige Hinweise erhalten, unter anderem diesen hier:

Sub test1()
Sheets("Tabelle1").Unprotect
MsgBox "Schutz!"
Sheets("Tabelle1").Protect
End Sub

Aber es klappt einfach nicht, ich drehe langsam durch!

Hilfe

Gruß
Werner

Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Blattschutz per Makro
05.08.2002 12:27:28
Charlie
Hallo, Werner!

Dafür kann verantwortlich sein, dass es ein Blatt mit dem Namen "Tabelle" nicht gibt oder dass das Blatt mit einem Kennwort geschützt ist. In diesem Fall müsste eine Abfrage nach dem Blattschutzkennwort angezeigt werden.

Versuch es wie folgt:

Wenn Du ein Kennwort vergibst und es im Makro öfter notwendig ist, den Blattschutz aufzuheben und wieder zu setzen, solltes Du das Kennwort einer Public-Variablen (in einem Standardmodul) zuweisen und im dann statt Kennwort in Anführungszeichen den Namen der Variablen verwenden.

Viel Erfolg,
Charlie

Anzeige
Re: Blattschutz per Makro
05.08.2002 12:30:37
Sören Wiechert
Hallo Werner,

welche Fehlermeldung erscheint denn?

Gruß,
Sören

Re: Blattschutz per Makro
05.08.2002 12:33:43
Micha
hi,

ich kann dir leider nicht viel neues sagen. unten stehendes makro funktioniert bei mir. wenn man's komplett automatisieren möchte muss man das passwort eben im klartext im makro speichern ansonsten wird's im zuge von unprotect abgefragt.
*****************************************************************
Sub Workbook_Open()
Dim tbpro As Worksheet

MsgBox "geöffnet"
Set tbpro = ActiveWorkbook.Worksheets("test")
If (tbpro.ProtectContents = True) Then
tbpro.unprotect
End If
End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim tbpro As Worksheet
Dim pwd As Variant

MsgBox "speichern"
Set tbpro = ActiveWorkbook.Worksheets("test")
If (tbpro.ProtectContents = False) Then
Do
pwd = InputBox("Bitte ein Passwort zum Schutz des Blatts angeben:")
Loop Until (pwd <> "")
tbpro.Protect pwd, True, True, True
End If
End Sub

Anzeige
Re: Blattschutz per Makro
05.08.2002 12:33:59
Werner
Die Meldung lautet: "kein gültiges Objekt" oder so ähnlich, kann ich im Moment nicht genau sagen, das Problem habe ich auf dem Dienstrechner und ich bin zu Hause.
Gruß
Werner
Re: Blattschutz per Makro
05.08.2002 12:37:28
Werner
Hi, auch diese Variante habe ich schon getestet, klappt auch nicht.
Trotzdem vielen Dank!

Werner

Re: Blattschutz per Makro
05.08.2002 12:40:07
Werner
Hallo und Danke!
Ich müßte allerdings beides (schutz aufheben und Schutz einschschalten im einem Makro unterbringen).

Gruß
Werner

Anzeige
Re: Blattschutz per Makro
05.08.2002 13:58:06
Robert M.
Hallo Werner,
versuch´ mal:

. . . Dein Makro . . .
ActiveSheet.Unprotect "DeinPasswort"
. . . Dein Makro . . .
ActiveSheet.Protect Password:="DeinPasswort"
. . . Dein Makro . . .

Bei mir klappt´s.

Servus, Robert.Ende

Re: Blattschutz per Makro
05.08.2002 14:31:44
Werner
Danke, aber auch das funktioniert nicht!

Gruß
Werner

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Blattschutz per Makro in Excel aufheben und wieder setzen


Schritt-für-Schritt-Anleitung

Um den Blattschutz in Excel per Makro aufzuheben und anschließend wieder zu setzen, kannst Du die folgenden Schritte ausführen:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Erstelle ein neues Modul: Klicke mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsx)" und wähle "Einfügen" > "Modul".

  3. Füge den folgenden Code ein:

    Sub BlattschutzAufhebenUndWiederSetzen()
       Dim ws As Worksheet
       Set ws = ThisWorkbook.Sheets("Tabelle1") ' Name des Arbeitsblattes anpassen
    
       ' Blattschutz aufheben
       ws.Unprotect "DeinPasswort" ' Passwort anpassen, falls erforderlich
    
       ' Hier kannst Du Deine Änderungen vornehmen
       ws.Range("A1").Value = "Neuer Wert"
    
       ' Blattschutz wieder setzen
       ws.Protect "DeinPasswort" ' Passwort anpassen, falls erforderlich
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Führe das Makro aus: Drücke ALT + F8, wähle BlattschutzAufhebenUndWiederSetzen aus und klicke auf "Ausführen".


Häufige Fehler und Lösungen

  • Fehler: "kein gültiges Objekt"

    • Überprüfe den Namen des Arbeitsblattes (z.B. "Tabelle1") auf Tippfehler. Stelle sicher, dass das Blatt existiert.
  • Fehler: Passwortabfrage

    • Wenn Du ein Passwort verwendest, stelle sicher, dass das Passwort im Makro korrekt eingegeben ist. Andernfalls wird eine Eingabeaufforderung angezeigt.
  • Fehler: Blattschutz wird nicht aufgehoben

    • Achte darauf, dass das Arbeitsblatt tatsächlich geschützt ist. Du kannst den Schutz auch manuell aufheben, um sicherzustellen, dass das Makro funktioniert.

Alternative Methoden

  1. Excel VBA für alle Blätter: Wenn Du den Blattschutz für alle Tabellenblätter aufheben und wieder setzen möchtest, kannst Du folgendes Makro verwenden:

    Sub AlleBlaetterSchuetzen()
       Dim ws As Worksheet
       For Each ws In ThisWorkbook.Worksheets
           ws.Unprotect "DeinPasswort"
           ' Änderungen hier vornehmen
           ws.Protect "DeinPasswort"
       Next ws
    End Sub
  2. Blattschutz aufheben ohne Passwort: Wenn Du den Blattschutz ohne Passwort aufheben möchtest, kannst Du den Code anpassen, aber sei vorsichtig, da dies ein Sicherheitsrisiko darstellen kann.


Praktische Beispiele

Wenn Du ein Makro für den Blattschutz in Excel VBA erstellen möchtest, hier ein einfaches Beispiel:

Sub BeispielMakro()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets("Tabelle1")

    ' Blattschutz aufheben
    ws.Unprotect "MeinPasswort"

    ' Wert in Zelle B2 ändern
    ws.Range("B2").Value = 100

    ' Blattschutz wieder setzen
    ws.Protect "MeinPasswort"
End Sub

Dieses Makro hebt den Blattschutz auf, ändert den Wert in Zelle B2 und setzt den Blattschutz anschließend wieder.


Tipps für Profis

  • Passwortverwaltung: Verwende öffentliche Variablen oder das ThisWorkbook-Objekt, um das Passwort zentral zu speichern.

  • Fehlerbehandlung: Implementiere eine Fehlerbehandlung im Makro, um auf unerwartete Situationen zu reagieren.

  • Dokumentation: Kommentiere Deinen Code gut, damit Du und andere ihn später leichter verstehen können.


FAQ: Häufige Fragen

1. Wie kann ich den Blattschutz ohne Passwort aufheben?
Das Aufheben des Blattschutzes ohne Passwort ist nicht empfohlen und kann Sicherheitsrisiken bergen. Wenn Du dennoch das Passwort vergessen hast, gibt es spezielle Tools, die helfen können.

2. Was ist der Unterschied zwischen Unprotect und Protect in VBA?
Unprotect hebt den Blattschutz auf, während Protect den Blattschutz wieder aktiviert. Beide Methoden können optional ein Passwort erfordern.

3. Kann ich den Blattschutz für mehrere Blätter gleichzeitig aufheben?
Ja, indem Du eine Schleife über alle Worksheets in Deiner Arbeitsmappe erstellst, kannst Du den Blattschutz für alle Blätter gleichzeitig aufheben und wieder setzen.

4. Wo kann ich weitere Informationen zu VBA-Makros finden?
Die offizielle Microsoft-Dokumentation zu VBA bietet eine Fülle von Informationen, Tutorials und Beispielen, um Dir beim Arbeiten mit Excel VBA zu helfen.

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