RGP-Funktion per VBA-Makro möglich?
13.12.2005 13:52:08
Thias
ich habe ein Problem mit der RGP Funktion. Da ich diese Funktion häufig nutze um mir die Koeffizienten von Ausgleichspolynomen verschiedener Ordnung zu berechnen (Grad 1 bis 6), würde ich diesen Ablauf gerne als VBA-Makro nutzen.
Ich habe mir den typischen Ablauf für das Aufziehen des Werte-Arrays für ein Polynom 2ter Ordnung und der Eingabe der RGP Funktion mal mittels des Makrorekorders angeschaut. Dieser zeigt mir nach der Eingabe von =RGP(H11:H453;K11:K453;WAHR;WAHR)
Sub RGP_Test()
Range("X3:Z7").Select 'aufziehen des Lösungsarrays
Selection.FormulaArray = _
"=LINEST(R[8]C[-16]:R[450]C[-16],R[8]C[-13]:R[450]C[-13],TRUE,TRUE)"
End Sub
Aus der Eingabe wird also dieser Kauderwelsch. Ich kann zwar noch nachvollziehen, dass die Angaben anscheinend absolute Positionsangaben meiner Datenreihen sind, doch warum aus der RGP-Funktion aufeinmal "LINEST" wird ist mir nicht klar. Das ist aber auch nicht das Problem...
Das Problem ist vielmehr, dass ich immer unterschiedlich lange Datenreihen habe, für die die RGP Funktion die Lösungsmatrix berechnen soll. Da in der RGP Funktion aber nur absolute Angaben stehen, nützt mir das aufgezeichnete Makro daher nichts.
Kann mir einer der anwesenden Experten weiterhelfen, wie ich es per VBA-Script hinbekomme, dass mir das Makro automatisch die richtige/aktuelle Länge der Datenreihen in die RGP-Funktion einsetzt und das Lösungsarray darstellt?
Meine Rohdaten habe ich unter https://www.herber.de/bbs/user/29194.xls
hochgeladen. Dort habe ich beispielhaft zwei Arrays aufgezogen und die RGP-Funktion umständlich eingetippt (nachdem ich ebenso umständlich nach unten gescrollt habe um zu schauen, wo die Daten aufhören damit ich den Endpunkt weiß).
Sollte sich nun die Länge der Datenreihen erhöhen, passen meine Angaben im Lösungsarray ja nicht mehr und die Koeffizienten des Ausgleichspolynoms werden nicht mehr korrekt berechnet, da die letzten Daten nicht mehr in die Berechnung mit eingehen!
Für dieses komplexe Problem bräuchte ich kompetente Hilfe, da ich dass alleine leider niemals hinbekomme!
Gruß Thias