Forumbeitrag
Excel-Version des Fragestellers:
2019
Erfahrungslevel des Fragestellers:
Basiskenntnisse in VBA
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