Trendlinien löschen
27.06.2008 22:19:00
Martin5924
ich erzeuge mir über VBA autmatisch ein Diagramm in welches ich anschließend die Trendlinie mit dem besten Bestimmtheitsmaß einfügebn lassen will.
Seither löse ich dieses Problem etwas umständlich indem ich alle möglichen Trendlinien erzeuge und das Bestimmtheitsmaß der vorhergehenden mit dem neuen vergleiche. Nachfolgend soll dann die schlechtere der beiden gelöscht werden:
Sieht so aus:
Zuerst eine lineare Trendlinie erstellen und das Bestimmtheitsmaß anzeigen
ActiveChart.SeriesCollection(c - 1).Trendlines.Add
ActiveChart.SeriesCollection(c - 1).Trendlines(1).DisplayRSquared = True
Wert in RQuadrat schreiben (z.B. "=R²=0,998") und auf eine Zahl kürzen
Rquadrat = ActiveChart.SeriesCollection(c - 1).Trendlines(1).DataLabel.Text
dbl_RQuadrat1 = Mid(Rquadrat, 5, Len(Rquadrat) - 3)
Die weiteren möglichen Trendlinien erstellen
For d = 1 To 4
ActiveChart.SeriesCollection(c - 1).Trendlines.Add
If d = 1 Then ActiveChart.SeriesCollection(c - 1).Trendlines(2).Type = xlLogarithmic
If d = 2 Then ActiveChart.SeriesCollection(c - 1).Trendlines(2).Type = xlExponential
If d = 3 Then ActiveChart.SeriesCollection(c - 1).Trendlines(2).Type = xlPolynomial
If d = 4 Then ActiveChart.SeriesCollection(c - 1).Trendlines(2).Type = xlPower
ActiveChart.SeriesCollection(c - 1).Trendlines(2).DisplayRSquared = True
Rquadrat = ActiveChart.SeriesCollection(c - 1).Trendlines(2).DataLabel.Text
Rquadrat = Mid(Rquadrat, 5, Len(Rquadrat) - 3)
dbl_RQuadrat2 = Rquadrat
Vergleich ob das neue besser ist als das vorhergehende, wenn ja wird das bessere übernommen
if dbl_RQuadrat1 < dbl_RQuadrat2 Then
dbl_RQuadrat1 = dbl_RQuadrat2
ActiveChart.SeriesCollection(c - 1).Trendlines(1).Delete
Else
ActiveChart.SeriesCollection(c - 1).Trendlines(2).Delete
End If
Next d
Das Problem ist nun das immer die erste Trendlinie gelöscht wird egal ob (1) oder (2) angegben wird. Was mich dann völlig geschafft hat war, dass ich über select die richtige Trendlinie anwählen konnte, bei nachfolgendem selection.delete wird trotz allem die erste gelöscht....
Ich hoffe dass mir von euch jemand helfen kann, vorab schon mal Danke für euer Bemühen!!
Gruß Martin