Du hast die Lösung ja schon. Nur damit alle was davon haben, stelle ich meine Lösung vor. Das Kopieren mit getDataArray/setDataArray mache ich mit einem Unterprogramm.
Code: Alles auswählen
Sub Kopieren_Test
oDoc = ThisComponent
oSheet_KalkGeb = oDoc.Sheets.getByIndex(0)
oQuelle = oSheet_KalkGeb.getCellRangeByName("BA18:BK23")
oZiel = oSheet_KalkGeb.getCellRangeByName("BA25")
Kopieren_Werte(oZiel,oQuelle)
end Sub
Sub Kopieren_Werte(Ziel,Quelle)
Doc = ThisComponent
Adresse = Quelle.getRangeAddress
QuSpalteA = Adresse.StartColumn
QuZeileA = Adresse.StartRow
QuSpalteE = Adresse.EndColumn
QuZeileE = Adresse.EndRow
Adresse = Ziel.getCellAddress()
Nr = Adresse.sheet
BlattZiel = Doc.Sheets(Nr)
ZielSpalteA = Adresse.Column
ZielZeileA = Adresse.row
ZielSpalteE = ZielSpalteA - QuSpalteA + QuSpalteE
ZielZeileE = ZielZeileA - QuZeileA + QuZeileE
ZielBereich = BlattZiel.getCellRangeByPosition(ZielSpalteA,ZielZeileA,ZielSpalteE,ZielZeileE)
aDat = Quelle.GetDataArray()
ZielBereich.setDataArray(aDat)
End Sub
Charly