Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makros bei einem geschützten Blatt

Forumthread: Makros bei einem geschützten Blatt

Makros bei einem geschützten Blatt
21.07.2002 13:37:07
Rolf
Ich habe einem Makro eine Sortierfunktion zugeordnet.
Danach das Arbeitsblatt geschützt. Wenn ich jetzt das Makro ausführen will, bekome ich nur einen Laufzeitfehler (1004).
Funktionieren Makros bei geschützten Blättern nicht ?
Wer hat eine Idee, wie man das ändern kann? Da das Blatt Formeln enthält, sollte
der Schutz schon bestehen bleiben.

Rolf

Anzeige

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

Betreff
Datum
Anwender
Anzeige
Re: Makros bei einem geschützten Blatt
21.07.2002 13:55:31
andreas e
hallo rolf,
heb den schutz in der ersten zeile des makros auf und in der letzten wieder rein damit

gruß
andreas e

http://www.skripteundaufgaben.de viele kostenlose Downloads und Links zu EXCEL und mehr

Re: Makros bei einem geschützten Blatt
21.07.2002 16:57:32
Micha
Hallo Rolf, hallo Andreas E.,
ich habe das gleiche Problem, nur das bei mir mit Ausführung des Makros die aktive Zelle (die Zelle hat keinen Schreibschutz) eine Farbe zugewiesen bekommt.
Nun meine Frage : Andreas, was meinst Du mit "heb den schutz in der ersten zeile des makros auf und in der letzten wieder rein damit" ??? In VBA ? Wenn ja mit welchem Befehl oder was auch immer ? Ich habe leider nicht soviel Ahnung das ich den kurzen Einwurf kapieren würde ...
Rolf, hast Du die Lösung ?
Danke für Eure Hilfe ?
Micha

Anzeige
Re: Makros bei einem geschützten Blatt
21.07.2002 17:34:48
Heinz A. Wankmüller
Hallo Rolf,
du kannst ein geschütztes Blatt nicht sortieren, weder per Makro noch manuell.
daher musst du, wie Andreas es schon angedeutet hat, im Makro vor dem Sortiervorgang den Blattschutz aufheben und nach dem Sortieren das Blatt wieder schützen:

Gruß
Heinz

Re: Makros bei einem geschützten Blatt
21.07.2002 19:44:54
Michael
Wenn das Makro anfängt
Sub irgendwas dann ist die erste Zeile
ActiveSheet.Unprotect Password:="MeinPasswort"


Wenn das Makro fertig ist vor End Sub diese Zeile
ActiveSheet.Protect Password:="MeinPasswort"

Anzeige
Re: Makros bei einem geschützten Blatt
21.07.2002 20:04:18
Charlie
Hallo, Rolf!

So, jetzt geb' ich auch noch meinen Senf dazu:

Ich habe mir mit der Zeit angewöhnt, beim Öffnen der Mappe den Blattschutz nur für Benutzereingaben festzulegen, dann habe ich keine Probleme, wenn Änderungen per Makro vorgenommen werden sollen.

Im Klassenmodul "DieseArbeitsmappe"z.B.

Der Vorteil liegt darin, dass der Schutz nicht bei jeder Aktion aufgehoben und wieder gesetzt werden muss (verlangsamt auch die Laufzeit). Außerdem kann es nicht passieren, dass Du nach einer Aktion den Schutz zu setzen vergisst und das Blatt dann dem Anwender ungeschützt zur Verfügung steht.

Viel Erfolg,
Charlie

Anzeige
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Makros bei einem geschützten Blatt in Excel


Schritt-für-Schritt-Anleitung

  1. Öffne den Visual Basic for Applications (VBA) Editor: Drücke ALT + F11.
  2. Finde dein Makro: Suche das Makro, das du anpassen möchtest.
  3. Füge den Schutz aufheben-Befehl hinzu: Am Anfang deines Makros füge folgende Zeile ein:
    ActiveSheet.Unprotect Password:="MeinPasswort"
  4. Füge den Schutz wieder hinzu: Am Ende deines Makros füge diese Zeile ein:
    ActiveSheet.Protect Password:="MeinPasswort"
  5. Speichere und teste das Makro: Stelle sicher, dass es funktioniert, ohne dass der Laufzeitfehler (1004) auftritt.

Häufige Fehler und Lösungen

  • Laufzeitfehler (1004): Dieser Fehler tritt häufig auf, wenn versucht wird, ein Makro auf einem geschützten Blatt auszuführen. Die Lösung ist, den Blattschutz vor der Ausführung des Makros mit ActiveSheet.Unprotect aufzuheben und ihn danach wieder mit ActiveSheet.Protect zu aktivieren.

  • Makro kann nicht ausgeführt werden: Stelle sicher, dass die Option für das Zulassen von Makros in den Excel-Einstellungen aktiviert ist. Gehe zu Datei > Optionen > Trust Center > Einstellungen für das Trust Center und aktiviere die entsprechenden Optionen.


Alternative Methoden

  • Blattschutz mit Ausnahmen: Du kannst den Blattschutz so einstellen, dass bestimmte Zellen bearbeitet werden dürfen. Gehe dazu zu Überprüfen > Blatt schützen, und wähle die Optionen aus, die du zulassen möchtest.

  • Excel alle Blätter schützen Makro: Um alle Blätter in einer Arbeitsmappe zu schützen, kannst du ein Makro schreiben, das über alle Blätter iteriert und den Schutz anwendet. Beispiel:

    Sub ProtectAllSheets()
       Dim ws As Worksheet
       For Each ws In ThisWorkbook.Worksheets
           ws.Protect Password:="MeinPasswort"
       Next ws
    End Sub

Praktische Beispiele

  • Sortieren bei geschütztem Blatt: Wenn du ein Makro hast, das eine Sortierfunktion ausführt, füge den Schutz wie oben beschrieben hinzu. Ein Beispiel könnte so aussehen:

    Sub SortiereDaten()
       ActiveSheet.Unprotect Password:="MeinPasswort"
       ' Sortierungscode hier
       ActiveSheet.Protect Password:="MeinPasswort"
    End Sub
  • Farbe zuweisen: Wenn du eine aktive Zelle farblich heben möchtest, stelle sicher, dass der Blattschutz ebenfalls aufgehoben wird:

    Sub FarbeZuweisen()
       ActiveSheet.Unprotect Password:="MeinPasswort"
       ActiveCell.Interior.Color = RGB(255, 0, 0) ' Rot
       ActiveSheet.Protect Password:="MeinPasswort"
    End Sub

Tipps für Profis

  • Makros im Klassenmodul verwenden: Setze den Blattschutz nur für Benutzereingaben fest, um die Ausführung von Makros zu erleichtern. Dies vermeidet häufige Unterbrechungen durch das ständige Aufheben und Setzen des Blattschutzes.

  • Verzögerung vermeiden: Häufiges Aufheben und Setzen des Blattschutzes kann die Laufzeit der Makros verlangsamen. Optimiere deinen Code, um die Anzahl der Schutzänderungen zu minimieren.


FAQ: Häufige Fragen

1. Können Makros auf geschützten Blättern ausgeführt werden?
Ja, aber du musst den Blattschutz mit einem VBA-Befehl aufheben und danach wieder aktivieren.

2. Wie schütze ich ein Blatt mit Ausnahmen?
Du kannst beim Schützen des Blattes spezifische Berechtigungen setzen, um bestimmte Zellen für die Bearbeitung freizugeben.

3. Was ist ein Laufzeitfehler 1004?
Dieser Fehler tritt auf, wenn ein Makro auf ein geschütztes Blatt zugreifen möchte, ohne den Schutz vorher aufzuheben.

4. Wie kann ich alle Blätter in einer Arbeitsmappe schützen?
Verwende ein Makro, um über alle Arbeitsblätter zu iterieren und den Schutz anzuwenden, wie im Abschnitt "Alternative Methoden" beschrieben.

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