Hallo Dietzer, Dieter schrieb am 05.04.2008: >In meinem Rechnungsformular habe ich neben der eigentlichen Rechnung >eine Zeile über mehrere Spalten, in denen sich Daten aus dieser >Tabelle, (Datum, Namen, Preise, Summen) sammeln. Diese Zellen kopiere >ich, wenn alles fertig ist, in eine andere Tabelle und erstelle mir >damit eine Liste. Das mache ich so: Zellen markieren, "kopieren" >klicken, die andere Tabelle öffnen, die nächste freie Zeile markieren, >"Inhalte einfügen" klicken. Das geht gut, ist aber umständlich. Geht das >wohl irgendwie eleganter mit einem (oder zwei) Klicks?
ich habe ein Makro aufgezeichnet und etwas angepaßt, siehe unten. Das kopiert die Zellen A15 bis E15 (kannst Du problemlos im code anpassen) und fügt sie in Tabelle2 (kannst Du bei args3(0).Value von JumpToTable auch einfach anpassen) als unterste Datenzeile ein. Voraussetzung ist, daß Du in Tabelle2 wenigstens in Zelle A2 schon etwas stehen hast (z.B. eine Überschrift), sonst schreibt Dir das Makro die Daten in Zeile 65536 ;-) Das kann man sicher viel eleganter lösen, aber ich habe noch nie etwas in OOo programmiert und finde auch momentan auch keine Befehlsreferenz. Vielleicht kann mir ein Mitleser dazu einen Tip geben. Das Makro habe ich dann an eine Schaltfläche gebunden, die ich in dem angenommenen Rechnungsformular eingefügt habe: Ansicht -> Symbolleisten -> Formularsteuerelemente -> dann einen Button zeichnen -> Rechtsklick -> Kontrollfeld -> Ereignisse -> Beim Auslösen -> ... Zuweisen Makro -> Makro wählen -> zurück und Entwurfsmodus ausschalten -> fertig. Nun reicht ein Klick und die Daten stehen jedes mal an gewünschter Stelle. Gruß Udo Hier der code: _________________________________________________________________________ sub Test_Datenauf_anderes_Tabellenblattkopieren rem ---------------------------------------------------------------------- rem define variables dim document as object dim dispatcher as object rem ---------------------------------------------------------------------- rem get access to the document document = ThisComponent.CurrentController.Frame dispatcher = createUnoService("com.sun.star.frame.DispatchHelper") rem ---------------------------------------------------------------------- dim args1(0) as new com.sun.star.beans.PropertyValue args1(0).Name = "ToPoint" args1(0).Value = "$A$15:$E$15" dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1()) rem ---------------------------------------------------------------------- dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array()) rem ---------------------------------------------------------------------- dim args3(0) as new com.sun.star.beans.PropertyValue args3(0).Name = "Nr" args3(0).Value = 2 dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args3()) rem ---------------------------------------------------------------------- dim args4(0) as new com.sun.star.beans.PropertyValue args4(0).Name = "Sel" args4(0).Value = false dispatcher.executeDispatch(document, ".uno:GoToStart", "", 0, args4()) rem ---------------------------------------------------------------------- dim args5(1) as new com.sun.star.beans.PropertyValue args5(0).Name = "By" args5(0).Value = 1 args5(1).Name = "Sel" args5(1).Value = false dispatcher.executeDispatch(document, ".uno:GoDownToEndOfData", "", 0, args5()) rem ---------------------------------------------------------------------- dim args6(1) as new com.sun.star.beans.PropertyValue args6(0).Name = "By" args6(0).Value = 1 args6(1).Name = "Sel" args6(1).Value = false dispatcher.executeDispatch(document, ".uno:GoDown", "", 0, args6()) rem ---------------------------------------------------------------------- dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array()) end sub --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]