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
Ulf
19.05.2026 09:55:23
AW: VBA - Blattschutz lässt sich mit Code nicht ausschalten
Hi,
kannst abfragen und Zwischenspeichern in temporärer Tabelle (wenn das erneute Kopieren problematischer oder komplizierter ist)
Sub Tabelle_einfügen()

Dim targetCell As Range
Dim wbTemp As Workbook
Dim wks As Worksheet
Set wks = ActiveSheet
Dim p As Protection
Set p = wks.Protection
If p.AllowEditRanges.Count = 0 Then
'Schutz
Set wbTemp = Workbooks.Add
wbTemp.Worksheets(1).Range("A1").PasteSpecial Paste:=xlPasteValues
wks.Unprotect
Selection.Copy
wks.Activate
End If
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
wbTemp.Close SaveChanges:=False
Application.CutCopyMode = False
End Sub

hth
Ulf
Als Antwort auf diesen Beitrag
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
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.