11.08.2017, 18:04
Hallo murdock
Ich möchte nicht so weit gehen, wie lupo von mir aus unerfindlichem Grunde fordert. Es soll mir und Dir genügen, wenn die momentane Formel auf das aktuelle sheet (in dem das Diagramm steht) ausgegeben wird. Das Makro wird mit einem Button in eben diesem sheet gestartet. Ich musste eine Wartezeit von einer Sekunde einbauen, damit strFormel gefüllt werden kann.
Sub FormelAusDiagrammAuslesen()
Dim strFormel As String
Sheets("Diagramme").Range("A1").Delete
ActiveSheet.ChartObjects("Diagramm 1").Activate
With ActiveChart.FullSeriesCollection(4)
.Trendlines.Add
With .Trendlines(1)
.Type = xlPolynomial
.Order = 2
.DisplayEquation = True
End With
End With
Application.Wait TimeSerial(Hour(Now()), Minute(Now()), Second(Now()) + 1)
strFormel = Tabelle2.ChartObjects("Diagramm 1").Chart.SeriesCollection(4).Trendlines(1).DataLabel.Text
Sheets("Diagramme").Range("A1") = strFormel
With ActiveChart.FullSeriesCollection(4).Trendlines(1)
.DataLabel.Delete
.Delete
End With
End Sub
Wie Du sehen wirst, benötigen die ausgegebenen Formeln in gewissen Fällen einer Nachbehandlung.
z.B. in y = -0.0002x2 + 16.782x - 312377 wird die Potenz falsch dargestellt.
Wenn Du weitere Hilfe brauchst, bin ich gerne bereit. Die Anzahl der Beiträge spielt dabei absolut keine Rolle.
Gruss
Ich möchte nicht so weit gehen, wie lupo von mir aus unerfindlichem Grunde fordert. Es soll mir und Dir genügen, wenn die momentane Formel auf das aktuelle sheet (in dem das Diagramm steht) ausgegeben wird. Das Makro wird mit einem Button in eben diesem sheet gestartet. Ich musste eine Wartezeit von einer Sekunde einbauen, damit strFormel gefüllt werden kann.
Sub FormelAusDiagrammAuslesen()
Dim strFormel As String
Sheets("Diagramme").Range("A1").Delete
ActiveSheet.ChartObjects("Diagramm 1").Activate
With ActiveChart.FullSeriesCollection(4)
.Trendlines.Add
With .Trendlines(1)
.Type = xlPolynomial
.Order = 2
.DisplayEquation = True
End With
End With
Application.Wait TimeSerial(Hour(Now()), Minute(Now()), Second(Now()) + 1)
strFormel = Tabelle2.ChartObjects("Diagramm 1").Chart.SeriesCollection(4).Trendlines(1).DataLabel.Text
Sheets("Diagramme").Range("A1") = strFormel
With ActiveChart.FullSeriesCollection(4).Trendlines(1)
.DataLabel.Delete
.Delete
End With
End Sub
Wie Du sehen wirst, benötigen die ausgegebenen Formeln in gewissen Fällen einer Nachbehandlung.
z.B. in y = -0.0002x2 + 16.782x - 312377 wird die Potenz falsch dargestellt.
Wenn Du weitere Hilfe brauchst, bin ich gerne bereit. Die Anzahl der Beiträge spielt dabei absolut keine Rolle.
Gruss