"Dynamische" Data Ranges in Diagramm

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: "Dynamische" Data Ranges in Diagramm

Re: "Dynamische" Data Ranges in Diagramm

von sven-my » Do, 19.08.2010 07:36

Hallo Jürgen,

hab's heute morgen gleich ausprobiert --- klappt hervorragend.

Jetzt wird bei jedem Umschalten auf ein neues Diagramm erstmal der Maximalwert der x-Achse angezeigt, und nicht der Wert der vorhergehenden Werte-Tabelle, dann kann ich mir aussuchen, welchen Ausschnitt ich sehen will.

Erstklassig - ich danke Dir.

gruß
sven-my

Re: "Dynamische" Data Ranges in Diagramm

von turtle47 » Mi, 18.08.2010 21:50

Hi sven-my,
sven-my hat geschrieben:unter folgender Bedingung aufrufen: einmal, beim Aufruf eines anderen sheets
Versuche mal folgendes:

Code: Alles auswählen

Sub Cell_chartDataChanged
oSheet = ThisComponent.sheets.getByIndex(0)
oSheetx = ThisComponent.sheets.getByIndex(1)
TimeCell = oSheet.getCellByPosition(8,0).value
oChart = oSheet.Charts.getByIndex(0)
mycell = osheet.getCellByPosition(7,0).value
myvalue = mycell
Dim oNewRange as new com.sun.star.table.CellRangeAddress
oNewRange.StartColumn = 0
oNewRange.EndColumn   = 3
oNewRange.StartRow    = 0
oNewRange.EndRow    = TimeCell
oNewRange.sheet = 1
oChart.Ranges = Array(oNewRange)
oZelle = ThisComponent.getCurrentSelection().getCellAddress()
	if oZelle.column = 9 and oZelle.Row = 0 then
	Zeit_max_schreiben
	myDoc = thisComponent
	myView = thisComponent.CurrentController
	mycell =  oSheet.getCellByPosition(8,0)
	myView.Select(mycell)	
	end if
End Sub
Viel Erfolg.

Jürgen

Re: "Dynamische" Data Ranges in Diagramm

von sven-my » Mi, 18.08.2010 15:57

Hallo Jürgen,

in den letzten Tagen habe ich mein Dokument so hingefummelt, wie es mir am praktischsten erscheint.

Bis auf eine Sache bin ich zufrieden.

Ich würde gerne dieses Makro,

Code: Alles auswählen

sub Zeit_max_schreiben

Dim oDoc as Object, oSheet as Object
oDoc = StarDesktop.CurrentComponent
myDoc = thisComponent
mySheet = myDoc.Sheets().getByName("Diagramm")
readTime = mySheet.getCellByPosition(7,1).value        ' größte Länge der x-Achse
mycell = mySheet.getCellByPosition(8,0)            ' Zelle I1
mycell.value=readTime

end sub
unter folgender Bedingung aufrufen: einmal, beim Aufruf eines anderen sheets

Dem steht aber der Listener entgegen, der ja den Bereich I1:J1 überwacht - ich habe ich es erst so gelöst (einfach das Makro aufgerufen - siehe REM):

Code: Alles auswählen

Sub Cell_chartDataChanged
oSheet = ThisComponent.sheets.getByIndex(0)
oSheetx = ThisComponent.sheets.getByIndex(1)
TimeCell = oSheet.getCellByPosition(8,0).value
oChart = oSheet.Charts.getByIndex(0)
mycell = osheet.getCellByPosition(7,0).value
myvalue = mycell
Dim oNewRange as new com.sun.star.table.CellRangeAddress
oNewRange.StartColumn = 0
oNewRange.EndColumn   = 3
oNewRange.StartRow    = 0
oNewRange.EndRow    = TimeCell
oNewRange.sheet = 1
oChart.Ranges = Array(oNewRange)
           REM Zeit_max_schreiben
End Sub
Es funktioniert zwar, aber es scheint, daß das Diagramm immerwieder neu aufgebaut wird - zumindest blickt die Statusleiste dauernd.
Jetzt habe ich mir das Makro erstmal auf einen Button gelegt.

gruß
sven-my

Re: "Dynamische" Data Ranges in Diagramm

von sven-my » So, 15.08.2010 20:09

Hallo clag,

da bin ich ja mal gespannt --- die Aussicht, Ausschnitte zu zoomen, ist schon mal sehr interessant

gruß
sven-my

Re: "Dynamische" Data Ranges in Diagramm

von clag » So, 15.08.2010 19:52

Hallo Leutz,

da da Thema Diagramm doch recht interessant und aktiv ist
wollte ich hier kurz etwas vorstellen wo ich gerade intensiv dran bin, aber noch ein bisschen brauche
könnte auch speziell für sven-my geeignet sein ...

damit sollen sehr große Datenbestände dargestellt werden können, mit der Möglichkeit Ausschnitte zu zoomen,
läuft schon muss nur noch "schick" gemacht werden
Diagramm+Zoom-mini3.jpg
Diagramm+Zoom-mini3.jpg (60.59 KiB) 2407 mal betrachtet

Re: "Dynamische" Data Ranges in Diagramm

von turtle47 » So, 15.08.2010 19:36

Hi,
sven-my hat geschrieben:weniger genial ist Deine Schnelligkeit --- konnte noch nicht mal meinen Kaffee in Ruhe trinken zwischen den beiden Benachrichtigungen.
Sorry, konnte ich nicht ahnen das Du Dich gestört fühlst. :wink:
sven-my hat geschrieben:es "verrutscht" jedesmal die Beschriftung der sekundären y-Achse: aus horizontaler Ausrichtung wird eine vertikale - nach jedem Speichern.
Dazu kann ich Dir leider keine Lösung anbieten. Keine Ahnung was da los ist.

MfG

Jürgen

Re: "Dynamische" Data Ranges in Diagramm

von sven-my » So, 15.08.2010 18:54

Hallo Jürgen,

nur ein Wort: GENIAL :D

herzlichen Dank !

weniger genial ist Deine Schnelligkeit --- konnte noch nicht mal meinen Kaffee in Ruhe trinken zwischen den beiden Benachrichtigungen.

Eine andere Frage (gehört aber nicht zu >"Dynamische" Data Ranges in Diagramm<), sondern fiel mir nur bei dem dauernden Speichern und Laden der Dateien auf:
es "verrutscht" jedesmal die Beschriftung der sekundären y-Achse: aus horizontaler Ausrichtung wird eine vertikale - nach jedem Speichern.
Eigentlich hatte ich die Beschriftung (wie üblich) über der Achse, mußte sie aber jetzt neben die Achse, über die Legende, stellen.

gruß
sven-my

Re: "Dynamische" Data Ranges in Diagramm

von turtle47 » So, 15.08.2010 18:27

Hallo sven-my,

schau mal ob es so passt.

Jürgen
Dateianhänge
05_Schrauber_mod_a.ods
(40.48 KiB) 254-mal heruntergeladen

Re: "Dynamische" Data Ranges in Diagramm

von sven-my » So, 15.08.2010 18:05

Hallo Jürgen,

vielen Dank für Deine Arbeit. Die Auswahl der Tabellenblätter habe ich über "Daten/Gültigkeit..." gelöst.

Jetzt glaube ich auch zu wissen, wo so einige Mißverständnisse herkommen:

die Eingrenzunge der Daten in der x-Achse soll nicht dazu dienen, die verschiedenen Tabellen (unterschiedliche Ladezeiten) anzupassen, sondern ich möchte den relevanten Bereich genauer sehen, d.h. die Minuten des Entladens, und nur die ersten Minuten des Ladevorgangs, weil dieser Kurventeil mir etwas über die Qualität des Akkus sagen kann.

Wäre schön, wenn Du mir zeigen könntest, wo ich in Deinem Makro eingreifen muß, um z.B. von 120min Ladezeit nur die ersten 10min anzeigen zu lassen; die 10min sollen aber nicht fest sein, sondern variabel (nach Eingabe im sheet "Diagramm")

Der Listener ist perfekt --- danach war ich den halben Nahmittag auf der Suche (gefunden habe ich zwar einiges im Forum, konnte es mir aber nicht hinstricken).


gruß
sven-my

Re: "Dynamische" Data Ranges in Diagramm

von turtle47 » So, 15.08.2010 17:33

Hi,

beigefügt mal meine Version ohne das Ausblenden von Zeilen. Einfach oben ein Datum auswählen der Rest geht automatisch.

Jürgen
04_Schrauber_mod_a.ods
(70.2 KiB) 118-mal heruntergeladen

Re: "Dynamische" Data Ranges in Diagramm

von sven-my » So, 15.08.2010 15:52

Hallo Karo,

RICHTIG !

Meine Ent- und Ladekurven sind ein Auftrag von Spannung (gemessen in mV) über die Zeit (in MInuten) --- geht nur über xy-Diagramm.

gruß
sven-my

Re: "Dynamische" Data Ranges in Diagramm

von Karolus » So, 15.08.2010 15:42

Hallo
Soweit ich weiss, lässt sich nur x-Achse eines xy-Diagramms skalieren nicht aber die eines Liniendagramms ?!

Gruß Karo

Re: "Dynamische" Data Ranges in Diagramm

von sven-my » So, 15.08.2010 13:03

Hallo Georg,

das Problem bei Deiner Lösung ist, daß es zwar die Zeilen ausblendet, aber die verbeibenden Daten nicht auf die gesamte x-Achse verteilt werden.

gruß
sven-my

Re: "Dynamische" Data Ranges in Diagramm

von Django4711 » So, 15.08.2010 12:47

Hallo zusammen,

vielleicht noch mal ein ganz anderer Ansatz - ohne jegliche Programmierung (siehe Anhang):

Die Diagrammdaten per Formel in einen neuen Bereich kopieren und in Abhängigkeit von der Anzahl der anzuzeigenden Zeilen mit #NV auffüllen (#NV-Werte werden im Diagramm nicht angezeigt). Man könnte dann auch noch ein bißchen Luxus einfügen (z.B. die anzuzeigenden Zeilen mit einem Formular-Steuerelement einstellen).


Gruss: Georg
Dateianhänge
DynamischeDataRanges.ods
(18.74 KiB) 139-mal heruntergeladen

Re: "Dynamische" Data Ranges in Diagramm

von sven-my » So, 15.08.2010 11:49

Hallo clag,

herzlichen Dank nochmal.

Mein Versuch gestern, das Gleiche zu machen, mußte wohl deshalb fehlgeschlagen sein, weil ich wahrscheinlich eine falsche Datenreiche für die x-Achse im Datenbereich eingestellt hatte --- läßt sich aber jetzt nicht mehr nachvollziehen.

gruß
sven-my

Nach oben