Public
Function
VLambda(X
As
Double
)
As
Double
Dim
vL_X1
As
Double
Dim
vL_X2
As
Double
Dim
vL_Y1
As
Double
Dim
vL_Y2
As
Double
Dim
vL_test
As
Double
Dim
i
As
Integer
Dim
s_i
As
Integer
vL_X1 = Worksheets(
"V_Lambda"
).Cells(2, 1).Value - X
For
i = 3
To
1025
vL_test = Worksheets(
"V_Lambda"
).Cells(i, 1).Value
If
Application.WorksheetFunction.Abs(vL_test - X) < Application.WorksheetFunction.Abs(vL_X1)
Then
vL_X1 = vL_test
s_i = i
End
If
Next
i
If
vL_X1 <= 0
Then
vL_Y1 = Worksheets(
"V_Lambda"
).Cells(s_i, 2).Value
vL_X2 = Worksheets(
"V_Lambda"
).Cells(s_i + 1, 1).Value
vL_Y2 = Worksheets(
"V_Lambda"
).Cells(s_i + 1, 2).Value
Else
vL_X2 = vL_X1
vL_Y2 = Worksheets(
"V_Lambda"
).Cells(s_i, 2).Value
vL_X1 = Worksheets(
"V_Lambda"
).Cells(s_i - 1, 1).Value
vL_Y1 = Worksheets(
"V_Lambda"
).Cells(s_i - 1, 2).Value
End
If
VLambda = (vL_Y2 - vL_Y1) / (vL_X2 - vL_X1) * (X - vL_X1) + vL_Y1
End
Function