Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
852to856
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
852to856
852to856
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Gleichung der trendlinie in zelle schreiben
09.03.2007 13:27:00
miho
Hallo,
ich habe folgendes Problem.
Ich habe messwerte diese werden in einem Liniendiagramm
dann berechne ich einen trend mit einem polynom 4 Ordn. und lasse mir die Gleichung und das bestimmtheitsmas anzeigen.
kann ich das auch in zellen schreiben x^4 x^3 ..... und r

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Gleichung der trendlinie in zelle schreiben
10.03.2007 12:02:00
Cardexperte
Hallo miho,
schicke dir mal ein Basisbeispiel, was die Trendfunktion (hier 3. Ordnung in Zelle D2) reinschreibt, wenn du die Trendfunktion im Diagramm auf Ordnung 4 stellst wird auch diese Formel dort reingeschrieben, war mal ein Arbeitsprojekt, wo aber auch die Berechnungswerte der Formeln (Exponenten und Koeffizienten) ausgelesen werden sollten, um damit weiter rechnen zu können, brauchst du ja dann nicht.
Gruss WS
https://www.herber.de/bbs/user/41009.xls
AW: Gleichung der trendlinie in zelle schreiben
10.03.2007 12:15:36
Daniel
Hallo
eine automatische Funktion, die das erledigt, ist mir nicht bekannt (was nicht heißen muss, daß es sie nicht gibt).
Bleibt also nur ein eigenes Makro.
Du kannst mit dem Befehl
Formeltext = ActiveChart.SeriesColon(1).Trendlines(1).DataLabel.Characters.Text
den Funktionstext der Trendlinie auslesen. Das Ergebnis sieht dann in etwa so aus:
"y = 0,0008x4 - 0,0296x3 + 0,2441x2 + 0,5355x + 3,6739"
das kannst du natürlich direkt in eine Zelle schreiben, rechnen kannst du damit aber noch nicht , weils halt nur ein Text ist. Um damit Rechnen zu können du müsstest jetzt noch ein Makro schreiben, daß diesen Formeltext analysiert, dh. die Faktoren, die Potzenen und den Summanden herausliest und daraus eine für Excel verständliche Formel zusammenbastelt, Die müsste dann in etwa so aussehen (in der FormulaR1C1Local-Schreibweise, als X-Wert vewendet wird der Wert aus der Zelle links davon):
Cells(1,2).formulaR1C1Local = _
"=0,0008*POTENZ(ZS(-1);4)-0,0296*POTENZ(ZS(-1);3)+0,2441*POTENZ(ZS(-1);2)+0,5355*ZS(-1)+3,739"
notwendige Funktionen, um den String zu analysieren sind normalerweise InStr() und MID() Reicht dir das bei VBA - GUT als Anregung? Gruß, Daniel
Anzeige
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

Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige