Function pvCf
ожидает Range
для своего первого аргумента:
Эта строка передает Integer
функции, ожидающей Range
pvCf = pvCf (i, 1) / Exp (r * i)
Другим предупреждением является то, что Function pvCf
делает рекурсивный вызов самому себе без способа остановить рекурсию. После того, как вы исправите Data Type Mismatch
и запустите код, произойдет сбой Excel.
Согласно комментариям Jeeped:
Похоже, что второе появление pvCf
должно быть изменено на cashFlows(i, 1)
pvCf = pvCf(i, 1) / Exp(r * i)
pvCf = cashFlows(i, 1) / Exp(r * i)
Function pvCf(cashFlows As Range, r)
Dim i As Integer
Dim n As Integer
n = cashFlows.Rows.Count
For i = 1 To n
pvCf = pvCf(i, 1) / Exp(r * i)
Next i
End Function