Написал функцию линейного интерполирования
Код: Выделить всё
Function Agp(xt(), yt(), x, n As Integer)
Dim i As Integer, j As Integer, j1 As Integer
For i = 0 To n
If x <= xt(i) Then
GoTo a25
End If
Next i
i = n
a25: j1 = i - 1
j = i
dy = (x - xt(j1)) / (xt(j) - xt(j1)) * (yt(j) - yt(j1))
Agp = yt(j1) + dy
End Function
В самом же VBA эта функция работает (вот пример её вызова и проверки значений)
Код: Выделить всё
Public xt(0 To 20), yt(0 To 20), n, x
Sub dan()
Open "D:\rez.txt" For Output As #1
For i = 0 To 20
xt(i) = Cells(i + 5, 1)
yt(i) = Cells(i + 5, 2)
Next i
Lint1 = Agp(xt(), yt(), 5.5, 21)
Print #1, Lint1
Close #1
End Sub
Как мне заставить работать функцию?