in einem Arbeitsblatt möchte ich ab Zelle A17
15 leere Zeilen einfügen und im Anschluss das Format und die Werte von A3:S15 einfügen.
Ich versucht es mit Beispielen von Dannenhöfer.
Code: Alles auswählen
sub Zeilen
doc=thiscomponent
mysheet=doc.Sheets().getByName("MeinArbeitsblatt")
myrows=mysheet.getrows
' Und jetzt leere Zeilen einfügen: Index und Anzahl.
myrows.insertbyindex(16,15)
' Bereich kopieren
QuelleRange=mysheet.getCellRangeByPosition(0,2,18,14)
QuellRangeAddresse = QuelleRange.getRangeAddress
Ziel = mysheet.getCellByPosition(0,17)
ZielCellAdresse=Ziel.getCellAddress
' kopierten Bereich einfügen, damit die Formatierungen übernommen werden
mysheet.copyRange(ZielCellAdresse,QuellRangeAddresse)
' Bereich erneut kopieren
x = mysheet.getCellRangeByName("A3:S15").GetDataArray()
' nur die Werte des kopierten Bereichs einfügen
mysheet.getCellrangeByName("A18:S30").SetDataArray(x)
' Optimale Zeilenhöhe
mysheet.Rows(17).OptimalHeight = True
end sub
Das ist zwar irgendwie "doppelt gemoppelt", aber anders wusste ich mir nicht zu helfen.
Sicherlich kann man das auch eleganter machen.
Viele Grüße
Ich Bins