HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Entdecke rund 2 Millionen Excel-Lösungen im
Forumsarchiv
Forumbeitrag
Excel-Version des Fragestellers:
2019
Erfahrungslevel des Fragestellers:
Basiskenntnisse in VBA
sammy111
18.05.2026 17:14:14
AW: VBA - Blattschutz lässt sich mit Code nicht ausschalten
Hallo zusammen,
vielen Dank für die schnellen Antworten.

@ Edgar
Für den Blattschutz habe ich kein Passwort gesetzt.

@ Ulf
In beiden Dateien gibt es keine verbundenen Zellen.

@ Piet
Der verkürzte Code funktioniert grundsätzlich. In meiner Originaldatei beginnt der Tabellentext in Zelle "C2". Der nächste zu übertragende Text aus einer anderen Datei beginnt 2 Leerzeilen nach dem eingefügten Text in der Spalte "C" (17 Zeilen nach dem vorhergehenden Textbeginn) und nicht unmittelbar unter dem vorstehenden Text. Dafür ließe sich sicher eine Lösung finden, aber damit habe ich immer noch mein Problem mit dem Blattschutz nicht gelöst.

@ Daniel
Du hast sicher recht. Ich habe verschiedene Konstellationen im Code versucht, aber das Einfügen eines zuvor in einer anderen Datei kopierten Bereiches bei eingeschaltetem Blattschutz trotz vorgesetztem "ActiveSheet.Unprotect" im Code ist mir nicht gelungen. Nach dem Beenden der Fehlermeldung wird zwar das Arbeitsblatt der Zieldatei freigeschaltet, aber den um den Bereich laufende Kopierrahmen in der Herkunftsdatei gibt es dann nicht mehr. Der gesamte Vorgang kann dann allerdings ohne Probleme neu gestartet werden.

Ich habe nun für mich zur Umgehung einer Fehlermeldung am Codeanfang eine Nachricht eingerichtet, die mich daran erinnert, wenn ich das Ausschalten des Blattschutzes vergessen habe. Vielleicht hat noch jemand eine bessere Lösung. Interessiert daran bin ich schon.

Nochmals danke an euch.

Viele Grüße
Sammy
Als Antwort auf diesen Beitrag
sammy111
17.05.2026 19:23:24
VBA - Blattschutz lässt sich mit Code nicht ausschalten
Hallo,

bisher hatte ich kein Problem, mit "ActiveSheet.Unprotect" im Code den Blattschutz auszuschalten und den Programmablauf ohne Fehlermeldung zu beenden. Bei dem unten stehenden Problem-Code wird zwar der Blattschutz der Zieldatei beendet, aber beim Einfügen eines zuvor kopierten Bereiches aus einer anderen Datei erhalte ich eine Fehlermeldung:
"Laufzeitfehler '1004': Die PasteSpezial-Methode des Range-Objektes konnte nicht ausgeführt werden."
Bei vorher manuell ausgeschaltetem Blattschutz läuft der Code ohne Problem durch und fügt den kopierten Bereich an der markierten Stelle ein. Beide Dateien sind bei der Aktion geöffnet.



Sub Tabelle_einfügen()
Dim targetCell As Range
ActiveSheet.Unprotect
Range("C2).select
Set targetCell = ActiveCell
Do Until ActiveCell.Value = ""
ActiveCell.Offset(17, 0).Select
Loop
ActiveCell.Offset(0, -1).Select
Selection.PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End Sub


Aufgabe der Aktion:
Aus verschiedenen Dateien wird nacheinander manuell ein Bereich kopiert und in die Zieldatei untereinander übertragen. Von der Zelle "C2" ausgehend wird durch Loop untersucht, welche 17. Zelle noch keinen Inhalt hat, u.s.w.

Mir ist nicht klar, warum bei vorher ausgeschaltetem Blattschutz der Vorgang ohne Problem abläuft und bei eingeschaltetem Blattschutz trotz "ActiveSheet.Unprotect" nicht.

Ich hoffe, ich habe das Problem einigermaßen verständlich beschrieben und jemand kann mir bei der Lösung helfen.

Viele Grüße
Sammy




Folgenachrichten
Antwort auf Beitrag erstellen
Bitte einen Anwendernamen ohne @ eingeben.
Bitte das Passwort eingeben.
Bitte eine gültige E-Mail-Adresse eingeben.
Bitte einen Betreff eingeben.
Weitere Optionen
Aktivieren, wenn die Frage/der Beitrag noch nicht beantwortet wurde und unter Listen > Offene Threads erscheinen soll.
Beispieldatei hochladen

Bitte einen Nachrichtentext eingeben.