Hi,
nachdem ich hier im Forum schon einige Tage gestöbert habe, aber keinen Lösungsansatz für mein Problem gefunden habe, will ich hoffen das mir jemand weiterhelfen kann.
Ich habe eine Calc Tabelle die ein Liniendiagramm enthält. Die Daten hiezu werden in die Tabelle mit einem Makro aus einer CSV- Datei eingelesen.
Die Daten haben unterschiedliche Anzahl von Datensätzen, so das ich dann den Datenbereich für das Diagramm verändern muss.
Und hier liegt der Hund begraben.
Nach langen Suchen habe ich endlich die Einträge in den Eigenschaften des Diagramms gefunden:
oSheetsDia=oDoc.sheets.getByName("Tabelle1")
oCharts=oSheetsDia.getCharts.getByIndex(0)
oChartObj=oCharts.EmbeddedObject
mwert(1) = oChartObj.UsedRangeRepresentations(1)
for i = 2 to 6 step 2
mwert(i) = oChartObj.UsedRangeRepresentations(i) 'Auslesen
neuwert = left(mwert(i),instr(mwert(i),":")+3)&"200" 'manipulieren
oChartObj.UsedRangeRepresentations(i)= neuwert ' zurückschreiben funktioniert ohne meckern!!!
Aber nach dem zurückschreiben stehen weiterhin die alten Daten in den Eigenschaften.
Wer hat hier einen Lösungsansatz für mich, bevor ich weiter 100000 graue Haare bekomme?
Gruß
Herbert
Diagramm mit Makro verändern
Moderator: Moderatoren
Diagramm mit Makro verändern
Nur der ganz frühe Wurm entgeht dem Vogel.....
Re: Diagramm mit Makro verändern
Hallo Herbert,
.
Mir ist nämlich z.B. nicht ganz klar ob Du in deinem geposteten Code nach FOR das NEXT vergessen hast, oder aber ob da überhaupt ein NEXT vorhanden ist? Und eine Beispieldatei hat den Vorteil das dir zielführender geholfen werden kann.
Gruß
balu
... möchte ich dich darum bitten eine Beispieldatei hier anzuhängenbevor ich weiter 100000 graue Haare bekomme ...

Mir ist nämlich z.B. nicht ganz klar ob Du in deinem geposteten Code nach FOR das NEXT vergessen hast, oder aber ob da überhaupt ein NEXT vorhanden ist? Und eine Beispieldatei hat den Vorteil das dir zielführender geholfen werden kann.
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

Re: Diagramm mit Makro verändern
Hallo Balu,
Das fehlende next ist nicht das problem, ist im Original vorhanden.
Leider werden die veränderten Werte nicht ordnungsgemäß zurückgeschrieben.
Wenn ich nach dem ausführen des Makros mir die Eigenschaften des Diagramms (Datenbereich) anschaue, so sind die unverändert!!
Im Anhang das kpl. Sub
Anhägen funktioniert nicht
sub diaupd()
DIM oDoc
dim sheets
dim oCharts
dim ochartobj
Dim oSheetsDia
DIM iZeile as integer, iSpalte as integer
dim mwert(10) as string
dim neuwert as string
dim i as integer
oDoc=ThisComponent
oSheet1=oDoc.sheets.getByIndex(0) '//Auswahl des ertsen sheets
iZeile=Ubound(oSheet1.RowDescriptions)+1 '//auslesen der letzen Zeile
'sBereich="$Tabelle1.$A$1:.$"+x(iSpalte)+"$"+cInt(iZeile) '//so lautet die eigentliche Verwendung für später
sBereich="$Tabelle1.$B$51:$D$200" '//neuer Datenbereich zum Test
oSheetsDia=oDoc.sheets.getByName("Tabelle1")
oCharts=oSheetsDia.getCharts.getByIndex(0)
oChartObj=oCharts.EmbeddedObject
mwert(1) = oChartObj.UsedRangeRepresentations(1)
for i = 2 to 6 step 2
mwert(i) = oChartObj.UsedRangeRepresentations(i)
neuwert = left(mwert(i),instr(mwert(i),":")+3)&"200"
oChartObj.UsedRangeRepresentations(i)= neuwert
next i
end sub
Gruß
Herbert
Das fehlende next ist nicht das problem, ist im Original vorhanden.
Leider werden die veränderten Werte nicht ordnungsgemäß zurückgeschrieben.
Wenn ich nach dem ausführen des Makros mir die Eigenschaften des Diagramms (Datenbereich) anschaue, so sind die unverändert!!
Im Anhang das kpl. Sub
Anhägen funktioniert nicht
sub diaupd()
DIM oDoc
dim sheets
dim oCharts
dim ochartobj
Dim oSheetsDia
DIM iZeile as integer, iSpalte as integer
dim mwert(10) as string
dim neuwert as string
dim i as integer
oDoc=ThisComponent
oSheet1=oDoc.sheets.getByIndex(0) '//Auswahl des ertsen sheets
iZeile=Ubound(oSheet1.RowDescriptions)+1 '//auslesen der letzen Zeile
'sBereich="$Tabelle1.$A$1:.$"+x(iSpalte)+"$"+cInt(iZeile) '//so lautet die eigentliche Verwendung für später
sBereich="$Tabelle1.$B$51:$D$200" '//neuer Datenbereich zum Test
oSheetsDia=oDoc.sheets.getByName("Tabelle1")
oCharts=oSheetsDia.getCharts.getByIndex(0)
oChartObj=oCharts.EmbeddedObject
mwert(1) = oChartObj.UsedRangeRepresentations(1)
for i = 2 to 6 step 2
mwert(i) = oChartObj.UsedRangeRepresentations(i)
neuwert = left(mwert(i),instr(mwert(i),":")+3)&"200"
oChartObj.UsedRangeRepresentations(i)= neuwert
next i
end sub
Gruß
Herbert
Nur der ganz frühe Wurm entgeht dem Vogel.....
Re: Diagramm mit Makro verändern
Hallo zusammen,
nachdem ich mir tagelang die Haare gerauft habe (sind jetzt alle weg!) , endlich die Lösung gefunden!!!
Und nun nach viel Spaß
Herbert
nachdem ich mir tagelang die Haare gerauft habe (sind jetzt alle weg!) , endlich die Lösung gefunden!!!
Code: Alles auswählen
Sub ChartRefresh
oDocThis = ThisComponent
Sheet1 = oDocThis.Sheets(0)
' rowCount = Sheet1.getCellRangebyName("Row_Count").value
rowCount = 555
Ch1 = Sheet1.Charts(0)
'Sloop = 0
rgs = Ch1.relateDCellRanges
for sloop = 1 to 7 step 2
rgs(sloop).EndRow = rowCount
next sloop
Ch1.setRanges(rgs)
End Sub
Herbert
Nur der ganz frühe Wurm entgeht dem Vogel.....
-
- ******
- Beiträge: 921
- Registriert: Mo, 12.04.2010 00:37
Re: Diagramm mit Makro verändern
http://de.wikipedia.org/wiki/Haar#Zahle ... m_MenschenOldie1948 hat geschrieben:bevor ich weiter 100000 graue Haare bekomme?
Ist damit das graue Haare Problem gelöst?Oldie1948 hat geschrieben:nachdem ich mir tagelang die Haare gerauft habe (sind jetzt alle weg!)
