"Dynamische" Data Ranges in Diagramm

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

skaface
*
Beiträge: 17
Registriert: Mi, 12.11.2008 13:01

"Dynamische" Data Ranges in Diagramm

Beitrag von skaface »

Hallo zusammen,

ich würde gerne ein Diagramm erstellen, bei dem die DataRanges zum teil dynamisch festgelegt werden.

Am besten zu zeigen über ein kleines Bsp.:

Bild

Ich würde jetzt gerne über die Zelle F2 (also im Bild der Wert "21") festlegen, wie viele Zeilen im Diagramm angezeigt werden.
Wenn in F2 also zB. eine "5" steht, dann sollten im Diagramm automatisch nur die ersten 4 Werte dargestellt werden (also DataRange $Sheet1.$A$1:$C$5).

Könnte man in den Diagrammbereichen den INDIRECT-Befehl benutzen wäre das ganze kein Problem, leider geht das aber nicht (zumindest konnte ich noch nicht herausfinden, wie...).

Ich hoffe, ihr wisst, was ich meine und habt eine Lösung für mich!
Dieses Bsp. ist extrem vereinfacht mit nur 1 Diagramm, zusammenhängenden Zellen usw., wodurch vielleicht die Sinnhaftigkeit meiner Anfragen nicht ganz rüberkommt.
Im Endeffekt brauch ich das ganze für ein Calc-Dokument mit ca. 15 Sheets & 30 unterschiedlichen Diagrammen, bei denen ich Momentan jedes einzelne von Zeit zu Zeit händisch anpassen muss...

Gäbe es eine Möglichkeit, oben gefragtes zu realisieren könnte ich mir jedenfalls eine Menge arbeit ersparen...

danke, mfg

mik
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: "Dynamische" Data Ranges in Diagramm

Beitrag von Stephan »

Das geht mittels Makro.

schau Dir mal die Beispieldatei für ein bewegtes Diagramm an:
http://www.calc-info.de/makros.htm#ani_dia

Diese enthält alles was Du brauchst, Du mußt das nur auf Deine Verhältnisse anpassen. Als Ausgangspunkt brauchst Du dort die zwei Makros Sub plus_eins und Sub alle, wobei Du Ersteres kürzen kannst auf:

Code: Alles auswählen

'...
oCalcDokument = ThisComponent
Z = oCalcDokument.Sheets().getByName("Sheet1").getCellRangeByName("F2").Value
alle()
dispatcher.executeDispatch(document, ".uno:ChangeChartData", "", 0, args2())
'...
und bei letzterem die eine Zeile ändern mußt auf:

Code: Alles auswählen

'...
args2(1).Value = "$Sheet1.$A$1" & ":" & "$A$" & Z
'...

Naja, soweit im Wesentlichen. Bei Problemen im Detail mußt Du halt nochmal rückfragen.


Gruß
Stephan
skaface
*
Beiträge: 17
Registriert: Mi, 12.11.2008 13:01

Re: "Dynamische" Data Ranges in Diagramm

Beitrag von skaface »

Ok, das hilft schonmal ziemlich weiter. Herzlichen dank dafür schonmal.

Mein oben genanntes Bsp. konnte ich so auch schon ohne Probleme umsetzen. Für meine wirkliches Vorhaben bräuchte ich aber noch ein paar Infos...

Speziell das Array args2, welches anscheinend die Chart-Eigenschaften beinhaltet gibt mir noch ein paar Fragen auf:

1. Frage:

Code: Alles auswählen

	args2(0).Name = "Name"
	args2(0).Value = "Object 1"
"Object 1" ist hier wohl der Name des Diagramms. Wird wohl immer "Object 1" sein, wenn ich nur 1 Diagramm habe?
Nun hab ich aber mehrere Diagramme auf einem Arbeitsblatt. Woher weiß ich, wie die einzelnen Diagramme heißen? Unter "Object properties" konnte ich nichts finden...

2. Frage:

Code: Alles auswählen

	args2(1).Name = "Range"
	args2(1).Value = "$Sheet1.$A$1" & ":" & "$C$" & Z 
	args2(2).Name = "ColHeaders"
	args2(2).Value = true
	args2(3).Name = "RowHeaders"
	args2(3).Value = true
Auch soweit klar. Sind fast alle Einstellungen des 1. Tabs ("Data Range") im "Data Range"-Einstellungs-Dialog.

Bild

Also folgende Zuteilung:
"Range" = "Data range"
"ColHeaders" = "First column as label"
"RowHeaders" = "First row as label"

Die Frage ist nun:
Welche Namen haben die Einstellungen auf der 2. Tab ("Data Series")? Gibt es hierfür irgendwo eine Dokumentation?

Bild

Ich will also folgendes per Makro können:
- Den "Categories"-Wert festlegen (args2(4).Name = "Categories"?)
- Für jede einzelne Daten-Serie (also "301 pl.", "501 pl.", ...) die Werte "Name" und "Y-Values" zuordnen

Ich hoffe, das ganze wird nicht zu kompliziert und irgendwer kann mir auch hier noch weiterhelfen. Wenn es eine gute Dokumentation über dieses Thema gibt wäre ich über einen Link auch sehr dankbar!

danke, mfg

mik
skaface
*
Beiträge: 17
Registriert: Mi, 12.11.2008 13:01

Re: "Dynamische" Data Ranges in Diagramm

Beitrag von skaface »

Sorry, fürs pushen aber hat hier wirklich niemand eine Idee, wie man sowas bewerkstelligen könnte, oder ist die Frage nicht verständlich?

danke, mfg

mik

ps.: Sollte wieder keine Antwort kommen, werde ich den Thread natürlich in Friede ruhen lassen und nicht nochmal raufholen ;)
Benutzeravatar
lorbass
********
Beiträge: 4116
Registriert: Mo, 01.05.2006 21:29
Wohnort: Bonn

Re: "Dynamische" Data Ranges in Diagramm

Beitrag von lorbass »

skaface hat geschrieben:hat hier wirklich niemand eine Idee, wie man sowas bewerkstelligen könnte, oder ist die Frage nicht verständlich?
Vielleicht ist OOo Calc ja einfach nur das falsche Forum. Versuch's doch mal im Forum OOo Basic und Java.

Gruß
lorbass
skaface
*
Beiträge: 17
Registriert: Mi, 12.11.2008 13:01

Re: "Dynamische" Data Ranges in Diagramm

Beitrag von skaface »

hylli
*******
Beiträge: 1672
Registriert: Mi, 22.02.2006 19:37

Re: "Dynamische" Data Ranges in Diagramm

Beitrag von hylli »

Es hindert Dich keiner daran bei Excel zu bleiben oder ein ganz anderes Tabellenkalkulationsprogramm zu nutzen.

Außerdem kann ich das hier...
55/3r3/3rij4thf ierht uehgb blqa bla bla
im verlinkten Thread nirgendwo finden.

Höflich angefragt und Dein Problem geschildert, würdest Du vllt. eine Antwort bekommen, so eher nicht.

Hylli
Ein Dankeschön für eine Lösung tut nicht weh!
Wer eine Lösung selbst findet, sollte die für die Nachwelt auch posten!

Geschäftlich: LibreOffice 6.0.x ("Still") unter Windows 10 64bit
Privat: LibreOffice 6.0.x ("Still") unter Linux Mint 19.x Cinnamon 64bit
skaface
*
Beiträge: 17
Registriert: Mi, 12.11.2008 13:01

Re: "Dynamische" Data Ranges in Diagramm

Beitrag von skaface »

Don't feed the troll...
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: "Dynamische" Data Ranges in Diagramm

Beitrag von clag »

Hallo skaface,

hier ein Idee wie man es recht einfach machen könnte
Diagramm-variieren.ods
(20.52 KiB) 285-mal heruntergeladen
vielleicht reicht dir das so und lässt sich recht einfach umbauen
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Karolus
********
Beiträge: 7532
Registriert: Mo, 02.01.2006 19:48

Re: "Dynamische" Data Ranges in Diagramm

Beitrag von Karolus »

Hallo
@Clag
Du kannst ja richtig kreativ sein - Respekt!
:wink:

Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: "Dynamische" Data Ranges in Diagramm

Beitrag von clag »

Hallo skaface,

und jeder der es sonst noch gebrauchen kann

hier noch die exakte Umsetzung deines Wunsches sogar mit etwas Komfort :wink:
Diagramm-variieren_2.ods
(22.04 KiB) 137-mal heruntergeladen
biddescheen :D

edit:
korrektur im Makro bei der Adressierung der Tabellen hatte ich in *_2 zwar angedacht aber nicht umgesetzt :?
Diagramm-variieren_2a.ods
(25.13 KiB) 179-mal heruntergeladen
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Benutzeravatar
sven-my
*****
Beiträge: 358
Registriert: Fr, 14.12.2007 19:56

Re: "Dynamische" Data Ranges in Diagramm

Beitrag von sven-my »

Haloo clag,

Dein "Diagramm-variieren_2" ist echt gut. Ich habe es mir so hingebogen, daß es für meine Diagramme (Ent- und Ladekurven von Akkus) alternativlos ist.

Allerdings stört etwas ganz gewaltig: Die X-Achse läßt sich nicht scalieren (Hauptinvervall); bei mir erscheint da nur ein einziger Ziffernsalat.

Das Hauptintervall soll auf 15 (15min) eingestellt werden, da die längste Anzeige so um und bei 6 Stunden (360 min) liegt.

Hast Du dafür auch eine Lösung ?


gruß
sven-my
win7 prof / AOO 4.1.2 & AOO 3.4.0 portable
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: "Dynamische" Data Ranges in Diagramm

Beitrag von clag »

Hallo sven-my,

da wäre es am einfachsten du lädst die "verhunzte" Datei mal hoch damit man sehen kann wo was schief gegangen ist
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Benutzeravatar
sven-my
*****
Beiträge: 358
Registriert: Fr, 14.12.2007 19:56

Re: "Dynamische" Data Ranges in Diagramm

Beitrag von sven-my »

hallo clag,

anbei eine gekürzte Version meiner Datei (weniger Tabellen - reicht aber zum Darstellen des Fehlers).
03_Schrauber_mod.ods
(39.49 KiB) 122-mal heruntergeladen
Erstmal vielen Dank.


gruß
sven-my
win7 prof / AOO 4.1.2 & AOO 3.4.0 portable
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: "Dynamische" Data Ranges in Diagramm

Beitrag von clag »

Hallo sven-my


meintest du das so ?
03_Schrauber_mod_a.ods
(54.13 KiB) 143-mal heruntergeladen
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Antworten