ich habe eine Tabelle mit einigen Zeilen, die zwar leer, aber formatiert sind und teilweise Formeln enthalten. Nun sollen aus einem anderen Bereich derselben Tabelle Zeilen hierhin kopiert werden, wobei Formatierungen und Formeln des Zielbereichs nicht überschrieben werden sollen.
Die Zwischenablage soll bei dieser Kopieraktion nicht benutzt werden - damit fällt .Copy und .PasteSpecial schon mal aus.
Ich habe es versucht mit:
sMoveDest = lDestRow & ":" & lDestRow + iAdditionalNumberOfRows)
sMoveSource = lFirstRowToMove & ":" & lLastRowToMove
.Rows(sMoveDest).Value = .Rows(sMoveSource).Value
oder
Dim rSource As Range, rDest As Range
Set rDest = .Rows(sMoveDest)
Set rSource = .Rows(sMoveSource)
rDest.Value = rSource.Value
In beiden Fällen werden die im Zielbereich vorhandenen Formeln gelöscht. Ich habe vorher geprüft: in (z.B.) N50 (Zielbereich) steht die Formel | (Range("N50").Formula: =IF(COUNTIF(Q50:S50,"x")>0,"X","")
Aus dem Quellbereich würde z.B. N70 nach N50 kopiert werden. N70 hat aber keinen Inhalt
| (IsEmpty(Range("N70").Value = True).
Trotzdem ist nach der Zuweisung die Formel in N50 verschwunden. Obwohl doch eigentlich nur "values" übertragen werden sollen ...
| (Range("N50").Formula: )
Wie kann ich das verhindern? Was könnte/sollte ich dazu noch prüfen bzw. sicherstellen?
Vielen Dank schon mal für eure Ideen und Vorschläge!