Libre Office

Benutzerdefinierte Zellen kopieren mit Makro

Alles zur Programmierung im LibreOffice.
Antworten
horaz
Beiträge: 5
Registriert: Do 19. Sep 2024, 16:23

Benutzerdefinierte Zellen kopieren mit Makro

Beitrag von horaz » Do 19. Sep 2024, 17:11

Hallo!

Ich verwende folgenden Code um einen Zellenbereich (K2:AO2) zu kopieren in eine neue freie Zeile, dies funktioniert soweit.
Nun möchte ich aber den Bereich anpassen das ebenfalls der Bereich (B2:D2) mit kopiert wird, und der Bereich dazwischen nicht.
Leider haben meine Suchanfragen keine vernünftige Lösung gebracht, wie ich Zellbereiche kombiniere oder eventuell ausschließe beim Kopieren bzw. dann beim Einfügen.

Ich hoffe jemand kann mir helfen, vorab bester Dank.



Code: Alles auswählen

Sub NeueZeileKopieren
	odoc=thiscomponent
	quelle=odoc.sheets(3)
	ziel=odoc.sheets(3)
	daten()=quelle.getcellrangebyname("K2:AO2").getdataarray()
	i=15
	do while ziel.getcellbyposition(10,i).type>0
	i=i+1

	loop
	ziel.getcellrangebyposition(10,i,40,i).setdataarray(daten())
End Sub 

mikele
* LO-Experte *
Beiträge: 2065
Registriert: Mo 1. Aug 2011, 20:51

Re: Benutzerdefinierte Zellen kopieren mit Makro

Beitrag von mikele » Do 19. Sep 2024, 17:38

Hallo,
beide Bereiche kombinieren wird nicht sinnvoll.
Ergänze einfach

Code: Alles auswählen

daten2()=quelle.getcellrangebyname("B2:D2").getdataarray()
		ziel.getcellrangebyposition(1,i,3,i).setdataarray(daten2())
Nebenbei quelle und ziel stellen dasselbe Sheet dar. Zwei Variablen sind da eher unnötig.
Gruß,
mikele

horaz
Beiträge: 5
Registriert: Do 19. Sep 2024, 16:23

Re: Benutzerdefinierte Zellen kopieren mit Makro

Beitrag von horaz » Do 19. Sep 2024, 17:57

mikele hat geschrieben:
Do 19. Sep 2024, 17:38
Hallo,
beide Bereiche kombinieren wird nicht sinnvoll.
Ergänze einfach

Code: Alles auswählen

daten2()=quelle.getcellrangebyname("B2:D2").getdataarray()
		ziel.getcellrangebyposition(1,i,3,i).setdataarray(daten2())
Nebenbei quelle und ziel stellen dasselbe Sheet dar. Zwei Variablen sind da eher unnötig.
Bester Dank, ich habe wieder mal viel zu kompliziert gedacht. (Quelle und Ziel selbes Sheet habe ich anfangs unterschiedlich gehabt, und bin ich mir noch nicht sicher wie die Endfassung wird, deshalb hab ich es drinnen lassen)

thanks

Open Office
Antworten