Добрый день! По этой же теме еще задачка.
Необходимо для разных условий кредитов и разных величин кредита посчитать IRR (ВСД). Платежи формируются следующим образом: 0 - кредит (с минусом), 1 платеж = ежемесячный платеж+комиссия за открытие, далее 2-последний платеж (№ срок кредита) = ежемесячный платеж. Чтоб не плодить кучу массивов с денежными потоками решил немного модернизировать встроенную функцию ВСД. Передаю в функцию размер кредита, ежемесячный платеж (ПЛТ), срок кредита и комиссию за открытие.
Код следующий:
| Код |
|---|
Function ВСД24(ByVal Kredit As Long, ByVal Plateg As Long, ByVal Srok As Long, ByVal Komissiya As Long)
Dim Arr() As Double
'Static Arr() As Double
Dim ac As Long
ac = 2
ReDim Arr(Srok)
guess = 0.1
Arr(0) = -Round(Kredit, ac)
Arr(1) = Round(Plateg + Komissiya, ac)
For i = 2 To Srok
Arr(i) = Round(Plateg, ac)
Next i
ВСД24 = IRR(Arr(), guess)
'Erase Arr
End Function
|
Спотыкается при расчете IRR по заданному массиву. Хотя по аналогичному массиву встроенная функция Экселя ставку рассчитывает.
Проблема при сроке кредита в 36 месяцев, при 24 все нормально.
Есть подозрения, что экселю тупо не хватает памяти для расчета.
Помогите, пожалуйста, поправить код.