Hallo,
ich habe gerade meine ersten Versuche mit Visual basic gestartet und bin auf ein Problem gestoßen,
dass ich auch nach langem Probieren nicht lösen konnte.
Diese Interpolationsfunktion habe ich fertig gefunden und wollte nun die Ergebnisse von Werte(i)
in die spalten links von dieser Funktion ausgeben.
Public Function Interpolation(ZeitBereich As Range, WertBereich As Range, t As Double) As Double
Dim I As Long, j As Long, Werte() As Double, N As Long
N = WertBereich.Cells.Count
ReDim Werte(1 To N)
For I = 1 To N
Werte(I) = WertBereich(I)
Next I
' Interpolation nach Newton
For I = 1 To N
For j = N To I + 1 Step -1
Werte(j) = (Werte(j) - Werte(j - 1)) / (ZeitBereich(j) - ZeitBereich(j - I))
Next j
Next I
' Hornerschema anwenden, um Interpolationspolynom auszuwerten
Interpolation = 0
For I = N To 1 Step -1
Interpolation = Interpolation * (t - ZeitBereich(I)) + Werte(I)
Next I
End Function
Ich habe bereits versucht die aktive Zelle zu versetzen und dann die einzelnen Werte in die Zellen zu schreiben,
dabei erhalte ich aber nur eine Zirkelbezugswarnung weil die Zellenposition nicht verändert wird und das
Ergebnis "interpolation" überschrieben wird.
ActiveCell.Offset(0, -1).Select
ActiveCell.Value = Werte(1)
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Werte(2)
...
Kann mir jemand einen Tipp geben wie ich diese Werte ausgeben kann.
Gruß
Paul
|