Calc: Datenbereich-Erweiterung für Diagramm
Moderator: Moderatoren
Calc: Datenbereich-Erweiterung für Diagramm
Hallo,
ich möchte per Makro bei einem Diagramm den Datenbereich erweitern.
Beispiel/Voraussetzung:
1. zwei Spalten (1. enthält Datum, 2. enthält Werte).
2. Inhalte der Spalten sind aufgefüllt von Zeile 1 bis Zeile 10.
3. daraus wurde ein Diagramm erzeugt.
Aufgabe:
1. beide Spalten werden um weiter 5 Zeilen erweitert (manuell).
2. per Macro soll das Diagramm (Datenbereich) erweitert werden.
Habt ihr eine Idee?
Grüße
Joachim
Moderation,4: verschoben in BASIC-Unterbereich, wo alle Makro-Fragen hin gehören; Betreff angepasst
ich möchte per Makro bei einem Diagramm den Datenbereich erweitern.
Beispiel/Voraussetzung:
1. zwei Spalten (1. enthält Datum, 2. enthält Werte).
2. Inhalte der Spalten sind aufgefüllt von Zeile 1 bis Zeile 10.
3. daraus wurde ein Diagramm erzeugt.
Aufgabe:
1. beide Spalten werden um weiter 5 Zeilen erweitert (manuell).
2. per Macro soll das Diagramm (Datenbereich) erweitert werden.
Habt ihr eine Idee?
Grüße
Joachim
Moderation,4: verschoben in BASIC-Unterbereich, wo alle Makro-Fragen hin gehören; Betreff angepasst
-
- ****
- Beiträge: 115
- Registriert: Mo, 29.08.2011 09:01
- Wohnort: Duisburg
Re: automatische Datenbereichserweiterung (Diagramm) per Mak
Hallo Joachim,
Weitere Eigenschaften des Diagramms erreichtst Du mit ".... .embeddedObject" das an die letzte Codezeile angehängt wird. Um das Objekt auf seine Eigenschaften und Methoden zu "untersuchen" verwende das Macro-Tool "Xray" (Downloaden). Damit suchst Du Dir die passenden Eigenschaften und Methoden aus, um Dein Diagramm per Macro zu verändern.
Damit kannst du auf ein bestehendes Diagramm zugreifen. Wie du nun die 5 zeilen mit einbeziehst, kann ich dir zu dem Zeitpunkt auch nicht sagen.
Poste das doch bitte das nächste mal im BASIC-Teil des Forums, da es hier um ein Makro geht.
Grüße
Code: Alles auswählen
oDoc = ThisComponent objDiagramm = oDoc.Sheets(0).Charts.getByName("Dein_Diagramm_Name")
Damit kannst du auf ein bestehendes Diagramm zugreifen. Wie du nun die 5 zeilen mit einbeziehst, kann ich dir zu dem Zeitpunkt auch nicht sagen.
Poste das doch bitte das nächste mal im BASIC-Teil des Forums, da es hier um ein Makro geht.
Grüße
Windows XP, OOo 3.3.0
oder
Windows 7, OOo 3.3.0
oder
Windows 7, OOo 3.3.0
automatische Datenbereichserweiterung (Diagramm) per Makro
hier nochmals die selbe Anfrage, nachdem ich versehentlich im falschen Bereich (Calc) gelandet war (ForumsAnfängerFehler - SORRY):
ich möchte per Makro bei einem Diagramm den Datenbereich erweitern.
Beispiel/Voraussetzung:
1. zwei Spalten (1. enthält Datum, 2. enthält Werte).
2. Inhalte der Spalten sind aufgefüllt von Zeile 1 bis Zeile 10.
3. daraus wurde ein Diagramm erzeugt.
Aufgabe:
1. beide Spalten werden um weiter 5 Zeilen erweitert (manuell).
2. per Macro soll das Diagramm (Datenbereich) erweitert werden.
In Excel habe ich das folgendermaßen gelöst:
- Sheets("MeineSeite").Select
- ActiveChart.PlotArea.Select
- ActiveChart.SeriesCollection(1).XValues = "='MeinDiagramm'!B" & VonZeile & "A1:B" & BisZeile & "A1"
Hat jemand eine CodeSchnippsel, der dem Excel-Auszug entspricht?
Danke.
Moderation,4: erneutes Post mit erster Anfrage zusammengeführt
ich möchte per Makro bei einem Diagramm den Datenbereich erweitern.
Beispiel/Voraussetzung:
1. zwei Spalten (1. enthält Datum, 2. enthält Werte).
2. Inhalte der Spalten sind aufgefüllt von Zeile 1 bis Zeile 10.
3. daraus wurde ein Diagramm erzeugt.
Aufgabe:
1. beide Spalten werden um weiter 5 Zeilen erweitert (manuell).
2. per Macro soll das Diagramm (Datenbereich) erweitert werden.
In Excel habe ich das folgendermaßen gelöst:
- Sheets("MeineSeite").Select
- ActiveChart.PlotArea.Select
- ActiveChart.SeriesCollection(1).XValues = "='MeinDiagramm'!B" & VonZeile & "A1:B" & BisZeile & "A1"
Hat jemand eine CodeSchnippsel, der dem Excel-Auszug entspricht?
Danke.
Moderation,4: erneutes Post mit erster Anfrage zusammengeführt
-
- ****
- Beiträge: 115
- Registriert: Mo, 29.08.2011 09:01
- Wohnort: Duisburg
Re: automatische Datenbereichserweiterung (Diagramm) per Mak
Hallo nochmal 
http://www.starbasicfaq.de/Zellen.html#Zweig162
Ich denke das sollte dir weiterhelfen. Wenn du mit VBA bereits Makros geschrieben hast, wird dir der Umstieg auf OOo-Basic nicht allzu schwer fallen.
-Zugriff auf das Arbeitsblatt
zugriff auf die zellen ist dem relativ ähnlich:
So, wie du auf das Diagramm zugreifst findest du ja im anderen Thread.
Zugriff auf das Diagramm hast du im anderen Thread erfahren.
Wie du das ganze dann ins Diagramm bekommst, kann ich dir, wie bereits gesagt, nicht erklären. Aber bisher hat man für alles Lösungen gefunden
Hoffe das hilft erstmal

http://www.starbasicfaq.de/Zellen.html#Zweig162
Ich denke das sollte dir weiterhelfen. Wenn du mit VBA bereits Makros geschrieben hast, wird dir der Umstieg auf OOo-Basic nicht allzu schwer fallen.
-Zugriff auf das Arbeitsblatt
Code: Alles auswählen
myDoc = thisComponent
mySheet = myDoc.Sheets().getByName("Tabelle2")
Code: Alles auswählen
myCell = mySheet.GetCellRangeByName("A1:A4")
Zugriff auf das Diagramm hast du im anderen Thread erfahren.
Wie du das ganze dann ins Diagramm bekommst, kann ich dir, wie bereits gesagt, nicht erklären. Aber bisher hat man für alles Lösungen gefunden

Hoffe das hilft erstmal
Windows XP, OOo 3.3.0
oder
Windows 7, OOo 3.3.0
oder
Windows 7, OOo 3.3.0
Re: automatische Datenbereichserweiterung (Diagramm) per Mak
Hallo shamrock,
Betriebssystem?
OOo oder LO, und die Versionsnummer?
Warum wilst Du unbedingt per Makro den Datenbereich für das Diagramm nachträglich ändern? Reicht es denn nicht den Datenbereich gleich von vornherein groß genug zu dimensonieren?
Um was für ein Diagramm handelt es sich denn?
Nur um ganz sicher zu sein, ist es ein Diagramm in Calc?
Gruß
balu
Betriebssystem?
OOo oder LO, und die Versionsnummer?
Warum wilst Du unbedingt per Makro den Datenbereich für das Diagramm nachträglich ändern? Reicht es denn nicht den Datenbereich gleich von vornherein groß genug zu dimensonieren?
Um was für ein Diagramm handelt es sich denn?
Nur um ganz sicher zu sein, ist es ein Diagramm in Calc?
Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.
wehr rächtschraipfähler findet khan si behalden
wehr rächtschraipfähler findet khan si behalden

-
- ****
- Beiträge: 115
- Registriert: Mo, 29.08.2011 09:01
- Wohnort: Duisburg
Re: automatische Datenbereichserweiterung (Diagramm) per Mak
Er hatte das Problem bereits im Calc-Unterforum angesprochen. Habe ihn dann hierhin verwiesen.
Aber stimmt balu, warum das ganze mit einem Makro machen?
Reicht es nicht, das Diagramm neu aufzubauen bzw. die neuen Zellen mit einzubieziehen?
Grade nachgeguckt: Rechtsklick auf das Diagramm, Datenbereich neu einstellen und gut ist. Hm, vielleicht sollte ich immer erst die einfachere Lösung suchen
Grüße
Aber stimmt balu, warum das ganze mit einem Makro machen?
Reicht es nicht, das Diagramm neu aufzubauen bzw. die neuen Zellen mit einzubieziehen?
Grade nachgeguckt: Rechtsklick auf das Diagramm, Datenbereich neu einstellen und gut ist. Hm, vielleicht sollte ich immer erst die einfachere Lösung suchen

Grüße
Windows XP, OOo 3.3.0
oder
Windows 7, OOo 3.3.0
oder
Windows 7, OOo 3.3.0
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Calc: Datenbereich-Erweiterung für Diagramm
Das Problem ist, dass es meist mit dem einfachen Setzen eines neuen Datenbereichs per Makro nicht getan ist: diverse Einstellungen zum Diagramm gehen u.U. verloren.
Wenn der OP es trotzdem versuchen will:
Wenn der OP es trotzdem versuchen will:
Code: Alles auswählen
' Zell-Bereich erzeugen
oBereich = createUnoStruct( "com.sun.star.table.CellRangeAddress" )
' Zell-Bereich setzen
' Spalten B und C um weitere Zeilen erweitern
With oBereich
.Sheet = 0
.StartColumn = 1
.StartRow = 0
.EndColumn = 2
.EndRow = 14
End With
' erweiterten Bereich auf das Diagramm anwenden
oDiagramm.setRanges( Array( oBereich ) )
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Re: Calc: Datenbereich-Erweiterung für Diagramm
Erklärung für Macro anhand eines Beispiels:
Wenn ihr zuhause täglich eueren Stromzähler ablesen möchtet und den Stromverbrauch in einem Diagramm darstellen möchtet, so müßtet ihr jedesmal (ev. auch mehrmals täglich) das Diagramm um den Bereich erweitern, der dazu gekommen ist. Also nichts einmaliges!
Ich mache das mit meiner Wärmepumpe, um den Strombedarf im Blick zu haben. Hierbei habe ich auch mehrere Diagramme, die alle auf die abgelesene DatenTabelle zugreifen und jedesmal zu ändern sind, um den Energieverbrauch graphisch darstellen zu können.
Die Diagramme händisch anzupacken und zu ändern, ist mir zu umständich!
Da ich "von Amts wegen" viele scripte, verbietet das mein Stand
Ich habe das seither (wie oben erwähnt) mit Excel/VBA erledigt.
Da ich mir einen neues Notebook genehmigt habe und ich in diesem Rahmen auf OO umsteigen möchte, müßte ich das lösen.
Und irgendwie komme ich mit den OO-Scripten noch nicht so ganz zurecht, deshalb meine Anfrage.
Also den Beitrag doch wieder in BASIC?
OS: Win7
OO: 3.3.0
Grüße und wartend auf euere Lösungsvorschläge ...
Joachim
Wenn ihr zuhause täglich eueren Stromzähler ablesen möchtet und den Stromverbrauch in einem Diagramm darstellen möchtet, so müßtet ihr jedesmal (ev. auch mehrmals täglich) das Diagramm um den Bereich erweitern, der dazu gekommen ist. Also nichts einmaliges!
Ich mache das mit meiner Wärmepumpe, um den Strombedarf im Blick zu haben. Hierbei habe ich auch mehrere Diagramme, die alle auf die abgelesene DatenTabelle zugreifen und jedesmal zu ändern sind, um den Energieverbrauch graphisch darstellen zu können.
Die Diagramme händisch anzupacken und zu ändern, ist mir zu umständich!
Da ich "von Amts wegen" viele scripte, verbietet das mein Stand

Ich habe das seither (wie oben erwähnt) mit Excel/VBA erledigt.
Da ich mir einen neues Notebook genehmigt habe und ich in diesem Rahmen auf OO umsteigen möchte, müßte ich das lösen.
Und irgendwie komme ich mit den OO-Scripten noch nicht so ganz zurecht, deshalb meine Anfrage.
Also den Beitrag doch wieder in BASIC?
OS: Win7
OO: 3.3.0
Grüße und wartend auf euere Lösungsvorschläge ...
Joachim
-
- ****
- Beiträge: 115
- Registriert: Mo, 29.08.2011 09:01
- Wohnort: Duisburg
Re: Calc: Datenbereich-Erweiterung für Diagramm
Hallo,
das heißt, immer wenn ein neuer Eintrag hinzukommt, müsste das Makro greifen und das Diagramm ändern.
Wenn du uns vielleicht mitteilst, wo du Probleme mit OO-Basic hast, könnte man dir besser weiterhelfen.
Ich denke mir, das du Probleme mit dem Diagramm selber hast. Also das sich der Bereich vergrößert. Lieg ich da richtig?
Weil das allgemeine drumherum, Tabelle und Zellen ansprechen hab ich dir oben bereits gezeigt und sollte mit VBA-Vorkenntnissen gut umsetzbar sein.
Ansonsten lad dir die Dokus von
-Andrew Pitonyak runter. Die gibt es auf http://www.uni-due.de/~abi070/ (glaub ich) zu großen Teilen schon auf deutsch.
-http://www.starbasicfaq.de/
Das sind so die beiden Dokus an denen ich mich orientiere. Da solltest du eigentlich das meiste lernen können.
Grüße
das heißt, immer wenn ein neuer Eintrag hinzukommt, müsste das Makro greifen und das Diagramm ändern.
Wenn du uns vielleicht mitteilst, wo du Probleme mit OO-Basic hast, könnte man dir besser weiterhelfen.
Ich denke mir, das du Probleme mit dem Diagramm selber hast. Also das sich der Bereich vergrößert. Lieg ich da richtig?
Weil das allgemeine drumherum, Tabelle und Zellen ansprechen hab ich dir oben bereits gezeigt und sollte mit VBA-Vorkenntnissen gut umsetzbar sein.
Ansonsten lad dir die Dokus von
-Andrew Pitonyak runter. Die gibt es auf http://www.uni-due.de/~abi070/ (glaub ich) zu großen Teilen schon auf deutsch.
-http://www.starbasicfaq.de/
Das sind so die beiden Dokus an denen ich mich orientiere. Da solltest du eigentlich das meiste lernen können.
Grüße
Zuletzt geändert von Philipp_19 am Mi, 07.09.2011 12:44, insgesamt 1-mal geändert.
Windows XP, OOo 3.3.0
oder
Windows 7, OOo 3.3.0
oder
Windows 7, OOo 3.3.0
Re: Calc: Datenbereich-Erweiterung für Diagramm
Hallo Joachim,
Was ich außerdem noch gerne wissen möchte, wie groß waren denn bis jetzt die Datenbereiche die Du so schon im laufe der Zeit gesammelt hattest?
Gruß
balu
Warum beantwortest Du diese Fragen nicht?balu hat geschrieben: Um was für ein Diagramm handelt es sich denn?
Nur um ganz sicher zu sein, ist es ein Diagramm in Calc?
Was ich außerdem noch gerne wissen möchte, wie groß waren denn bis jetzt die Datenbereiche die Du so schon im laufe der Zeit gesammelt hattest?
Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.
wehr rächtschraipfähler findet khan si behalden
wehr rächtschraipfähler findet khan si behalden

-
- ****
- Beiträge: 115
- Registriert: Mo, 29.08.2011 09:01
- Wohnort: Duisburg
Re: Calc: Datenbereich-Erweiterung für Diagramm
Sollte deine Frage zu 50% beantworten balu oder?shamrock hat geschrieben:Ich habe das seither (wie oben erwähnt) mit Excel/VBA erledigt.
Windows XP, OOo 3.3.0
oder
Windows 7, OOo 3.3.0
oder
Windows 7, OOo 3.3.0
Re: Calc: Datenbereich-Erweiterung für Diagramm
Ja, ich habe mir dazu in das ExelSheet (da, wo ich die EIngaben mache) eine Knopf gelegt. Dahinter verbirgt sich das VBA.das heißt, immer wenn ein neuer Eintrag hinzukommt, müsste das Makro greifen und das Diagramm ändern.
Beim Drücken des Knopfes frage ich nach der "letzten" Zeile der Eingabe, dann legt das Macro los und zieht die Diagramme nach.
Genau, an die Tabelle/Cellen komm ich ran.Ich denke mir, das du Probleme mit dem Diagramm selber hast. Also das sich der Bereich vergrößert. Lieg ich da richtig?
Nur krieg ich die ausgelesenen Werte nicht an das Diagramm hin (kenn einfach die Syntax nicht).
Hat das denn noch keiner gemacht?
Denn dann gäbe es doch oben angefragte CodeSchnippsel.
Ich bin von Haus aus kein Windows/Office-Fan (leider bin ich durch mein Arbeitsgebiet dazu gezwungen), aber wenn ich in Google entspr. suche, habe ich gleich mehrere Treffer.
Das selbe mit OO hat mich nun schon Stunden gekostet und ich hab immer noch keine Ansatz - vielleicht bin ich schon OfficeBlind ... ???
@balu
Es sind Diagramme in Calc.
In der Zwischzeit haben sich ca. 2500 Zeilen angehäuft - aber das sollte doch nicht das eigentlcihe Problem sein, oder?
Kramt doch mal in eurem Fundus ...
Grüße
Joachim
-
- ****
- Beiträge: 115
- Registriert: Mo, 29.08.2011 09:01
- Wohnort: Duisburg
Re: Calc: Datenbereich-Erweiterung für Diagramm
Hey,
vielleicht hilft das auch schonmal:
viewtopic.php?t=11097
Wahlweise mal den Macrorecorder ankurbeln, schaun was der dir für Code-Schnipsel ausspuckt.
vielleicht hilft das auch schonmal:
viewtopic.php?t=11097
Wahlweise mal den Macrorecorder ankurbeln, schaun was der dir für Code-Schnipsel ausspuckt.
Windows XP, OOo 3.3.0
oder
Windows 7, OOo 3.3.0
oder
Windows 7, OOo 3.3.0
Re: Calc: Datenbereich-Erweiterung für Diagramm
Das hatte ich schon gestern versucht, aber wenn ich (nachdem ich "Makro aufzeichnen" angeklickt habe) dann das Diagramm per Doppelklick aktiviere um den Datenbereich zu ändern, verschwindet der Knopf "Aufzeichnung beenden".Wahlweise mal den Macrorecorder ankurbeln, schaun was der dir für Code-Schnipsel ausspuckt.
Der Knopf ist so lange weg, bis ich irgendwo in den Sheet-Bereich klicke.
Dann kann ich "Aufzeichnen beenden" drücken, aber es gibt kein Macro.
Was mach ich falsch?
Denn das wäre der eleganteste Weg.
Grüße
Joachim
Re: Calc: Datenbereich-Erweiterung für Diagramm
Da scheint aber auch nichts sinnvolles raus gekommen zu sein - oder ich verstehs nicht?!vielleicht hilft das auch schonmal:
viewtopic.php?t=11097
Frage/Bitte:
da ich mich mit dieser Sache unendlich schwer tu, wäre es nicht möglich (für die Fraktion der OO-Spezialisten) ein Sheet mit zwei Spalten mit Inhalt zu erstellen, daraus ein einfaches Diagramm zu generieren, um dann per Macro die Datenbereiche des Diagramms zu manipulieren.
Ich kriegs einfach nicht hin - oder geht es grundsätzlich nicht?
Danke schon vorab - Joachim