AW: Gleichung der trendlinie in zelle schreiben
10.03.2007 12:22:00
fcs
Hallo miho,
hier mal zwei Beispiele, wie der Text aus dem Diagramm per Makro in die Tabelle eingetragen werden kann.
Das Makro muss gestartet werden, wenn die Tabelle mit den Daten angezeigt wird, oder du muss noch entsprechendne Festlegungungen für Tabellenobjekte treffen.
Gruss
Franz
Sub TrendformelEingebettet()
'Trendformel aus eingebettetem Diagramm auswerten
Dim DiagObj As ChartObject, Formel, Trendtext, Bestimmt
Set DiagObj = ActiveSheet.ChartObjects(1)
If DiagObj.Chart.SeriesCollection(1).Trendlines(1).DisplayEquation = True Then
Trendtext = DiagObj.Chart.SeriesCollection(1).Trendlines(1).DataLabel.Characters.Text
Formel = Mid(Trendtext, InStr(1, Trendtext, "="), InStr(1, Trendtext, Chr$(10)) - InStr(1, _
Trendtext, _
"="))
Formel = Application.WorksheetFunction.Substitute(Formel, "x", "x^")
Formel = "'" & Application.WorksheetFunction.Substitute(Formel, "x^ ", "x ")
Bestimmt = Mid(Trendtext, InStr(1, Trendtext, Chr$(10)) + 1)
Range("D3").Value = Formel
Range("D4").Value = Bestimmt
Else
MsgBox "Formel der Trendlinie wird im Diagramm nicht angezeigt"
Range("D3").Value = ""
Range("D4").Value = ""
End If
End Sub
Sub TrendformelSeparat()
'Trendformel aus Diagramm in separatem Blatt auswerten
Dim Diag As Chart, Formel, Trendtext, Bestimmt
Set Diag = ActiveWorkbook.Charts("Diagramm1")
If Diag.SeriesCollection(1).Trendlines(1).DisplayEquation = True Then
Trendtext = Diag.SeriesCollection(1).Trendlines(1).DataLabel.Characters.Text
Formel = Mid(Trendtext, InStr(1, Trendtext, "="), InStr(1, Trendtext, Chr$(10)) - InStr(1, _
Trendtext, _
"="))
Formel = Application.WorksheetFunction.Substitute(Formel, "x", "x^")
Formel = "'" & Application.WorksheetFunction.Substitute(Formel, "x^ ", "x ")
Bestimmt = Mid(Trendtext, InStr(1, Trendtext, Chr$(10)) + 1)
Range("D6").Value = Formel
Range("D7").Value = Bestimmt
Else
MsgBox "Formel der Trendlinie wird im Diagramm nicht angezeigt"
Range("D6").Value = ""
Range("D7").Value = ""
End If
End Sub