Zellbereich kopieren/einfügen byValue

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

JtfF
**
Beiträge: 25
Registriert: So, 24.03.2013 08:32

Zellbereich kopieren/einfügen byValue

Beitrag von JtfF »

Hallo!

Habe leider nur herausgefunden wie es sich mit einer Zelle verhält! Wie muss ich die Variable ändern um das Ergebnis der ZellRange zu speichern?

Code: Alles auswählen

sub Kopierer
mySheet = Thiscomponent.sheets.getbyname("Tabelle1")

myDoc = thisComponent
mySheet = myDoc.sheets(0)
'--------------------------------------------------------------
'kopieren
mycell = mysheet.getCellRangeByPosition(3,8,3,12)
myValue = mycell.Range.Value '<--------- So gibt mir das nur einen Fehler aus!
'--------------------------------------------------------------
'einfügen
mycell = mysheet.getCellRangeByPosition(9,8,9,12)
mycell.Value = myValue           '<--------- Da natürlich auch Fehler!
'--------------------------------------------------------------
End Sub

Ich Danke für Hilfe!
Josef
Benutzeravatar
lorbass
********
Beiträge: 4116
Registriert: Mo, 01.05.2006 21:29
Wohnort: Bonn

Re: Zellbereich kopieren/einfügen byValue

Beitrag von lorbass »

Ich habe mal die [​code]…[​/code]-Tags für dich gesetzt…

Zur Sache: Kennst du Michael Dannenhöfers StarBasic / OpenOffice.org Basic FAQ noch nicht? Schau dir doch mal den Abschnitt 7.2.6 Wie kann man Zellbereiche kopieren? daraus an.

Gruß
lorbass
JtfF
**
Beiträge: 25
Registriert: So, 24.03.2013 08:32

Re: Zellbereich kopieren/einfügen byValue

Beitrag von JtfF »

Danke für den Tipp werde ich mir durchlesen!
JtfF
**
Beiträge: 25
Registriert: So, 24.03.2013 08:32

Re: Zellbereich kopieren/einfügen byValue

Beitrag von JtfF »

oDocument = ThisComponent
oSheet1 = oDocument.Sheets.getByIndex(0)
oSheet2 = oDocument.Sheets.getByIndex(1)

' Quellbereich festlegen
oQuelleRange=oSheet1.getCellRangeByPosition(0,0,3,4)
oQuellRangeAddresse = oQuelleRange.getRangeAddress

oZiel = oSheet2.getCellByPosition(2,5)
oZielCellAdresse=oZiel.getCellAddress
oSheet2.copyRange(oZielCellAdresse,oQuellRangeAddresse)

7.2.6 Wie kann man Zellbereiche kopieren? - Leider funktioniert dieser Code nicht.
Wenn ich mir den 7.2.5 Wie kann man Zellbereiche löschen? kopiere und laufen lasse funktioniert der Code.
Das bedeutet in der letzten Zeile steckt ein Fehler!?!?

von lorbass: Ich habe mal die [​code]…[​/code]-Tags für dich gesetzt…

Wo finde ich den diese Tags?

Liebe Grüße
Josef
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: Zellbereich kopieren/einfügen byValue

Beitrag von F3K Total »

Hi, wenn es sich um Zahlen handelt:

Code: Alles auswählen

    sub Kopierer
    mySheet = Thiscomponent.sheets.getbyname("Tabelle1")

    myDoc = thisComponent
    mySheet = myDoc.sheets(0)
    '--------------------------------------------------------------
    'kopieren
    myrange = mysheet.getCellRangeByPosition(3,8,3,12)
    mydataarray = myrange.getdataarray '<--------- So gibt mir das nur einen Fehler aus!
    '--------------------------------------------------------------
    'einfügen
    mynewrange = mysheet.getCellRangeByPosition(9,8,9,12)
    mynewrange.setdataarray (mydataarray)           '<--------- Da natürlich auch Fehler!
    '--------------------------------------------------------------
    End Sub
Gruß R
juetho
******
Beiträge: 617
Registriert: Di, 20.04.2010 15:46
Wohnort: Berlin

Re: Zellbereich kopieren/einfügen byValue

Beitrag von juetho »

JtfF hat geschrieben:von lorbass: Ich habe mal die [​code]…[​/code]-Tags für dich gesetzt…

Wo finde ich den diese Tags?
Variante 1: Markiere den Code-Bereich und drücke die Schaltfläche Code.

Variante 2: Schreibe den Anfang des Codes [​code] und an das Ende [/code].

Außerdem gibt es oben den Link zu FAQ, worüber die weitere Hilfe erhältst. Jürgen
Situation: LibO 3.6 auf Win 7 Home Premium (64-bit) mit MySQL (localhost) über JDBC
JtfF
**
Beiträge: 25
Registriert: So, 24.03.2013 08:32

Re: Zellbereich kopieren/einfügen byValue

Beitrag von JtfF »

Da bin ich aber ordentlich auf der Schleife gestanden! :-)

Danke!
Antworten