ich glaube ich habe da was falsch verstanden, bitte um Nachsicht.
Mit Set rng wird anscheinend nicht die komplette Range nach rng übertragen, wie ich glaubte, sondern wohl nur eine Verknüpfung hergestellt!?
Bisher klappte das Makro prima, jetzt habe ich es für eine andere Anwendung modifiziert und bekomme Probleme.
1. Mit Formeln erstelle ich aus einer anderen Arbeitsmappe Werte.
2. Jetzt beginnt mein Makro! Ich will die Werte der anderen Arbeitsmappe jetzt löschen und aus meiner Makroarbeitsmappe die Wert in die andere Arbeitsmappe übertragen.
3. Mit meinem Makro wohl so nicht möglich!!??
4. Meine eigene Idee, falls es nicht doch eleganter geht :-),
die Werte komplett in weiteren Arbeitsblättern zwischenspeichern
und dann erst übertragen!?
Doch hier ist erstmal mein leidiges Makro:
For Each c In Worksheets("Reorganisation").Range("E6:H203")
If Not IsEmpty(c) And Len(c) = 0 Then
z = c.Row - 1
Exit For
End If
Next
Set rng1 = Worksheets("Reorganisation").Range("E6:H" & z)
Application.ScreenUpdating = False
Workbooks("Verkauf").Activate
Worksheets("Kunden").Activate
ActiveSheet.Unprotect
ActiveSheet.Range("D2:AE1001").ClearContents
rng1.Copy
Range("D2").PasteSpecial Paste:=xlValues
ActiveSheet.Protect
Application.ScreenUpdating = True
Dazu kommt noch, was ich noch weniger kapiere, dass beim Copy-Befehl versucht wird in die aufrufende Mappe zu schreiben...??
Geht auf Fehler, weil dort zufällig verbundene Zellen drin sind!
Sage ich rng1.Copy ActiveSheet.Range("D2").PasteSpecial Paste:=xlValues
passiert genau das was ich mit "Set" meinte und oben beschrieben habe, da die Werte in der Zieldatei ja gelöscht sind werden sie in der Makrodatei natürlich nicht mehr angezeigt und können folglich auch nicht mehr copiert werden...
Ist nicht so einfach für mich, aber ich gebe alles.
Danke und
Gruß Wolfgang