Я хочу написать функцию, в которую я могу включить массив. Я предполагаю, что функция будет работать как функция NPV, у нас есть 3 способа задания синтаксиса в строке формул:
1) NPV(0.5, A1:A5)
2) NPV(0.5, A1, A2, A3, A4, A5)
3) NPV(0.5, {10, 20, 23, 25, 27})
Где 10, 20, 23, 25, 27 - значения в диапазоне A1 : A5.
А вот моя функция в VBA:
Function MyNpv(r As Double, Flows As Variant)
Dim i, n As Integer
Dim p As Double
n = Application.Count(Flows)
For i = 1 To n
p = p + Flows(i) / (r + 1) ^ i
Next i
MyNpv = p
End Function
Тем не менее, моя собственная функция может работать только так:
MyNpv(0.5, A1:A5)
В любом случае я можете объявить мой массив так, чтобы он работал гибко, как функция NPV?
Спасибо.