Hallo Dieter,

>Welche Funktion hat "Nr" in der Zeile args3(0).Name = "Nr",
>Der Wert 2 in der Zeile args3(0).Value = 2, ist das das Ziel, in das die in
>args 1 eingegebenen Zellen kopiert werden? 
Das nehme ich mal an.

Ich kenne mich da aber leider auch nicht aus und die Dokumentation zu den
aufgezeichneten Makros finde ich - vorsichtig ausgedrückt - katastrophal! Ich
habe trotz intensiver Suche zu diesen uno:Geschichten nichts halbwegs
vernünftiges gefunden.

Deshalb habe ich mich in das "StarOffice 8 Programmierhandbuch für BASIC"
eingelesen, das findest Du komplett zum Download. Und nun sende ich Dir ein
neues Makro auf dieser Basis, bei dem ich wenigstens einigermaßen verstehe,
was passiert.

Wichtig für Dich: Die Zählung von Tabellenblättern, Zeilen und Spalten
beginnt immer mit 0 !!!! Also ist unten gewählter Quellbereich A15:F15 !!!
Den Namen Deiner Zieltabelle (in gleicher Arbeitsmappe!) mußt Du noch
anpassen, siehe rem- Kommentar.

Von Deiner Aufgabenstellung ausgehend habe ich jetzt mal angenommen, die
erste Zeile in "Tabelle 2" enthält Überschriften. Das Makro verschiebt nun
die darunter befindlichen Daten um eine Zeile nach unten und schreibt dann
die kopierten Daten rein, so daß Du immer die letzten Daten als oberste Zeile
gleich unter den Überschriften siehst und nicht runter scrollen brauchst!

So, nun viel Spaß damit. Über eine kurze Rückmeldung würde ich mich freuen.

Gruß 

Udo

Und hier der Code:
_______________________________________________________________________

sub Zellen_kopieren

Dim Doc As Object
Dim Sheet As Object
Dim QuellBereichAddresse As New com.sun.star.table.CellRangeAddress
Dim ZielBereichAddresse As New com.sun.star.table.CellRangeAddress
Dim ZielAdresse As New com.sun.star.table.CellAddress

Doc = StarDesktop.CurrentComponent
Sheet = Doc.Sheets(0)

rem Hier mußt Du den Namen Deiner gewünschten Zieltabelle eingeben:
Name_Zieltabelle = "Tabelle 2"

rem Ermitteln des Tabellenindex Deiner Zieltabelle
  Anzahl = Doc.Sheets.count
  For i=0 to Anzahl-1
     mySheet = Doc.Sheets(i)
     If mysheet.name = Name_Zieltabelle then
        GoTo Raus_aus_Schleife
     End Ef
  Next i

Raus_aus_Schleife:

QuellBereichAddresse.Sheet = 0
QuellBereichAddresse.StartColumn = 0
QuellBereichAddresse.StartRow = 14
QuellBereichAddresse.EndColumn = 5
QuellBereichAddresse.EndRow = 14

ZielBereichAddresse.Sheet = i
ZielBereichAddresse.StartColumn = 0
ZielBereichAddresse.StartRow = 1
ZielBereichAddresse.EndColumn = 5
ZielBereichAddresse.EndRow = 1

ZielAdresse.Sheet = i
ZielAdresse.Column = 0
ZielAdresse.Row = 1

rem Einfügen eines leeren Bereichs in Zeile 2 der Zieltabelle,
rem Verschieben der existierenden Daten nach unten
Sheet.insertCells(ZielBereichAddresse, com.sun.star.sheet.CellInsertMode.DOWN)

rem Kopieren des Quellbereichs und Einfügen in die Zieltabelle
Sheet.copyRange(ZielAdresse, QuellBereichAddresse)

end sub


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Antwort per Email an