VBA: copy in Blattschutz-sheet

r_Alf

Mitglied
Hallo,

Ich will Daten mit Hilfe von VBA eines Zellbereichs von Blatt A in äquivalenten Zellbereich von Blatt B kopieren.
Das klappt soweit ganz gut, bis ich Blattschutz aktiviere.
Ich nutze dazu:
Code:
With BlattB
   .Cells(9, 8) = Cells(5, 12)
   .Cells(9, 14) = Cells(5, 18)
   Range("J11:U2520").Copy .Range("G11:R2520")
End With

Beide Excelblätter sollen später mit Blattschutz versehen werden, was ich so mache:
Code:
Private Sub Workbook_Open()
Dim ws As Worksheet
   For Each ws In ThisWorkbook.Worksheets
      ws.Protect "Passwort", UserInterfaceOnly:=True, AllowFormattingCells:=True
   Next ws
End Sub

Ich habe mal mit manuellem aktivieren des Blattschutzes gespielt, dabei scheine ich alle Haken setzen zu können, doch das Kopierziel möchte die Daten einfach nicht annehmen. Zumindest das mit dem Copy funktioniert nicht, die Direktzuweisung mit Cells=Cells funktioniert jedoch.

Ich vermute daher, dass es nicht möglich ist mit der Copy-(to)-Destination Methode in ein geschütztes Blatt zu kopieren.

Übersehe ich was, oder gibt es andere Methoden ganze Bereiche in ein geschützte Blatt zu kopieren, oder muss ich mich mit einer Schleife mit einzelnen Cells Zuweisungen begnügen?

[Excel 2010]
 
Das ist mir jetzt peinlich! Ich kopiere ja Zellen, die NICHT gesperrt sind und hatte da in einem der Blätter EINE Zelle gefunden die noch gesperrt war. Diese muss sich nun durch dieses hin- und her kopieren wiederbelebt haben, wodurch das kopieren scheiterte.
Das eigentlich am Ende der Programmierung hinzugefügte "On Error Resume Next", zur Sicherheit für Andere Nutzer, hatte mir natürlicherweise auch die Fehlermeldung unterdrückt.
Da es mich nicht in Ruhe gelassen hatte, hat mich das Spiel mit dem kopieren per VBA und Blattschutz in einer neuen Excelmappe darauf gestoßen, dass es grundsätzlich eigentlich funktionieren müsste.

Demnach ist das Thema auch schon wieder erledigt ;-)
 

Neue Beiträge

Zurück