Excel VBA Macro Problem mit Formel in Zelle

Hallo zusammen,

ich habe einen Datensatz für den ich mir eine exponentielle Regressionsgerade anzeigen lasse. Nun möchte ich die Formel der geraden noch haben.Im graphen kann ich mir die ja anzeigen lassen.

Nach mehreren Fehlschlägen habe ich das ganze dann mit Berechnung der Koeffizienten gelöst. Hierzu habe ich auch die Formel gefunden (http://www.excelformeln.de/formeln.html?welcher=276):

m:
=INDEX(RKP(B2:B8;A2:A8;;WAHR);1;2)

und a:
=LN(INDEX(RKP(B2:B8;A2:A8;;WAHR);1;1))

nun möchte ich das ganze per VBA lösen nachdem es einige Geraden sind.
Im Prinzip soll er mir einfach die obige Formel in meine Zelle reinschreiben und ausrechnen. Das Problem an dem Code ist allerdings dass er mir die Formel wie sie unten steht 1 zu 1 in die Zelle schreibt und nichts ausrechnet. Hat jemand eine ahnung woran es liegen könnte?

Cells(N, colM).Formula = " =INDEX(LOGEST(range(Cells(datstart , colY),Cells(datende, colY)), range(Cells(datstart, colX) ,Cells(datende, colX)), True, 1, 2)"

Wenn jemand eine andere Methode weiß um an die Formel für die exponenzielle Trendlinie zu kommen kann auch gerne weiterhelfen

Danek schon im voraus.

Grüße

Hallo PuP,

Nach mehreren Fehlschlägen habe ich das ganze dann mit
Berechnung der Koeffizienten gelöst. Hierzu habe ich auch die
Formel gefunden
(http://www.excelformeln.de/formeln.html?welcher=276):

so kann ich das anklicken:
http://www.excelformeln.de/formeln.html?welcher=276
Mit deinem Link landete ich auf der Hauptseite.

=INDEX(RKP(B2:B8;A2:A8;;WAHR);1;2)
=LN(INDEX(RKP(B2:B8;A2:A8;;WAHR);1;1))

Du sprachst doch von einer Formel?

Im Prinzip soll er mir einfach die obige Formel in meine Zelle
reinschreiben und ausrechnen.

Nochmals, welche obige Formel?

Das Problem an dem Code ist
allerdings dass er mir die Formel wie sie unten steht 1 zu 1
in die Zelle schreibt und nichts ausrechnet. Hat jemand eine
ahnung woran es liegen könnte?

K.A., ich kenne deinen Code nicht, vllt. hast du deine Berechnung uaf
manuell gestellt oder sonstwas, quien sabe.

Wenn jemand eine andere Methode weiß um an die Formel für die
exponenzielle Trendlinie zu kommen kann auch gerne
weiterhelfen

„exponenzielle Trendlinie“ wieder mal sowas wo mir klar wird daß ich
von vielem keine Ahnung habe:smile:

Gruß
Reinhard

Grüezi PiffundPaff

m:
=INDEX(RKP(B2:B8;A2:A8;;WAHR);1;2)

und a:
=LN(INDEX(RKP(B2:B8;A2:A8;;WAHR);1;1))

nun möchte ich das ganze per VBA lösen nachdem es einige
Geraden sind.
Im Prinzip soll er mir einfach die obige Formel in meine Zelle
reinschreiben und ausrechnen. Das Problem an dem Code ist
allerdings dass er mir die Formel wie sie unten steht 1 zu 1
in die Zelle schreibt und nichts ausrechnet. Hat jemand eine
ahnung woran es liegen könnte?

Cells(N, colM).Formula = " =INDEX(LOGEST(range(Cells(datstart
, colY),Cells(datende, colY)), range(Cells(datstart, colX)
,Cells(datende, colX)), True, 1, 2)"

Nach dem Anführungszeichen und dem ‚=‘ ist da noch ein Leerzeichen in deinem Code drin - kann das die Ursache sein?

Anderfalls einfach mal die Formel in die Zelle schreiben und dabei den Marko-Recorder mitlaufen lassen. Dabei wird die korrekte Syntax aufgezeichnet, die Du dann noch anpassen musst.
Da fällt mir auf, dass Du dich offenbar auf bestimmte Ranges beziehen willst und diese in die Formel mit aufnehmen.
Das musst Du über String-Verknüpfungen tun und kannst die Ranges nicht einfach so in die Formel schreiben, die werden dabei nämlich nicht ausgewertet sondern 1:1 übernommen was zu deinem geschilderten Verhalten führt.

Das hier sollte besser passen, allerdings ungetestet, da ich nicht weiss welche Werte den Variablen zugewiesen worden sind:

Cells(N, colM).Formula = "=INDEX(LOGEST(" & Range(Cells(datstart, colY), Cells(datende, colY)).Address & "," & Range(Cells(datstart, colX), Cells(datende, colX)).Address & ", True, 1, 2)"

Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -