Bereiche Kopieren (nur Ergebnisse keine Formel)

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

Moderator: Moderatoren

bebhbgebb
Beiträge: 4
Registriert: Mi, 14.11.2012 19:50

Bereiche Kopieren (nur Ergebnisse keine Formel)

Beitrag von bebhbgebb »

ich möchte gern die ergebnisse von formeln kopieren, die in einem bestimmten bereich stehen.
angenommen in den zellen A5:A35 befinden sich formeln, die unterschiedliche ergebnisse auswerfen.
diese ergebnisse möchte ich gern mit einem kleinen makro in die danebenliegende spalte kopieren.

mit getdataarray und setdataarray kenne ich mich noch nicht wirklich gut aus :(
Karolus
********
Beiträge: 7535
Registriert: Mo, 02.01.2006 19:48

Re: Bereiche Kopieren (nur Ergebnisse keine Formel)

Beitrag von Karolus »

Hallo
..mit getDataArray kenne mich nicht gut aus
dem kann man abhelfen

Code: Alles auswählen

sub kopieren
doc = thisComponent
sheet = doc.Sheets.getByName("Tabelle1")
data = sheet.getCellRangeByName("A5:A35").getDataArray()
sheet.getCellRangeByName("B5:B35").setDataArray( data )
end sub
Karolus
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
willi64de
*
Beiträge: 10
Registriert: Fr, 19.10.2012 08:20

Re: Bereiche Kopieren (nur Ergebnisse keine Formel)

Beitrag von willi64de »

Hallo Karolus
Kurz und schmerzlos. Das verstehe sogar ich und konnte es problemlos anpassen.
danke :-)
hebbe
Beiträge: 7
Registriert: Fr, 07.12.2012 12:06

Re: Bereiche Kopieren (nur Ergebnisse keine Formel)

Beitrag von hebbe »

Karolus hat geschrieben:Hallo
..mit getDataArray kenne mich nicht gut aus
dem kann man abhelfen

Code: Alles auswählen

sub kopieren
doc = thisComponent
sheet = doc.Sheets.getByName("Tabelle1")
data = sheet.getCellRangeByName("A5:A35").getDataArray()
sheet.getCellRangeByName("B5:B35").setDataArray( data )
end sub
Karolus

Hallo Karolus,

wie würde den der Code aussehen, wenn ich für den Bereich A5:A35 über Einfügen | Namen festlegen den
Namen Bereich1 und für B5:B35 den Namen Bereich2 definiert hätte(sog. namendranges). Will damit verhindern,
dass sich durch einfügen/löschen von Zeilen davor evtl. die falschen Zellen kopiert werden.

Hoffe Du kannst mir da weiterhelfen.

Viele Grüße

hebbe
Zuletzt geändert von hebbe am Do, 20.12.2012 23:19, insgesamt 1-mal geändert.
Karolus
********
Beiträge: 7535
Registriert: Mo, 02.01.2006 19:48

Re: Bereiche Kopieren (nur Ergebnisse keine Formel)

Beitrag von Karolus »

Code: Alles auswählen

sub kopieren_NamedRanges
doc = thisComponent
NamedRanges = doc.NamedRanges
source = NamedRanges.getByName("Bereich1").getReferredCells()
target = NamedRanges.getByName("Bereich2").getReferredCells()
data = source.getDataArray()
target.setDataArray( data )
end sub
Karolus

Mit mri lassen sich solche Dinge relativ einfach herausfinden!
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
hebbe
Beiträge: 7
Registriert: Fr, 07.12.2012 12:06

Re: Bereiche Kopieren (nur Ergebnisse keine Formel)

Beitrag von hebbe »

Hallo Karolus,

vielen Dank für die Hilfe, es funktioniert einwandfrei, habe es eben getestet.

Habe aber noch eine weitere Frage. Gibt es die Möglichkeit, alle Felder des benannten Bereichs anstatt mit
Werten aus einem anderen Bereich auch mit "0" zu füllen?

Danke für die Hilfe und viele Grüße

hebbe
Antworten