Excel VBA - lineare Interpolation
18.11.2018 17:57:05
SteinApfel
ich habe wiedermal eine Fragestellung an Euch, bei der Ihr mir bestimmt weiterhelfen könnt.
Hierbei beziehe ich mich auf einen Beitrag der schon älter ist:
https://www.herber.de/forum/archiv/840to844/841041_Makro_Lineare_Interpolation_und_Extrapolation.html
Dort habe ich mir die
Function hergeholt und versucht mir das anzueignen. Jedoch komme ich leider nicht weit...
Ich habe meine Werte umbenannt (einfacher für mich) und dies schon angepasst bei mir im _
gesamten Code.
Auf Tabelle WSEinst sollen Werte eingegeben werden, nach dem Klick auf "Berechnen" soll die
Function ausgeführt werden. Während WSEinst noch aktiv ist, werden dort die Variablen mit _
Public deklariert die in die
Function einfließen.
Jetzt sollte das Programm auf das Tabellenblatt WSKirchhoff wechseln und dort die Interpolation _
ausführen.
Die Grundformel ist mir absolut bekannt, ich komme nur mit dem Code nicht klar, wüsste aber _
auch nicht wie ich es für mich besser schreiben könnte...
ValAB ist das Verhältnis Höhe zur Breite, mit dem Wert gehe ich in die Tabelle. Allerdings _
werde ich damit nicht den genauen Wert treffen. RngX müsste demnach die Zelle sein in der der Wert zu finden ist (ob größer oder kleiner weiß ich nicht, was VBA da wählt), RngY der Wert der eine Spalte daneben ist. Mit diesen Werten muss ich dann in die Berechnung rein.
Yint = Y1 + ((Y2 - Y1)/(X2 -X1)) * (X - X1) [X = z.B. ValAB]
Function LinInt(RngX As Range, RngY As Range, ValAB As Double)
Dim Dimension As Long
rngy=?
rngx= ?
ValAB = Höhe / Breite
WSKirchhoff.Activate
Dimension = RngX.Cells.Count
On Error GoTo Fehler
If ValAB RngX.Cells(Dimension).Value Then
If ValX
Hoffe mir kann jemand weiterhelfen, ich wäre super Dankbar dafür :)
Falls nötig kann ich gerne auch die gesamte Datei reinstellen. Ich arbeite allerdings mit vielen Modulen und rufe die darin enthaltenen Code-Stücke auf.
Beste Grüße
Hendrik