VBA中的贷款摊还循环

时间:2010-09-27 09:03:58

标签: vba

我需要为vba中的贷款池创建累积现金流量表并希望得到一些帮助?

我可以在Excel中为单笔贷款创建摊销时间表,但我需要在一次执行中运行000个贷款的时间表.... I.e

从包含贷款级别信息(利率,期限,余额等)代码的电子表格开始,该代码选择电子表格中的第一行(第一笔贷款)并运行该贷款的摊销计划,然后

  1. 获取第二行数据并运行该贷款的计划

  2. 将贷款2的数据汇总到贷款1,然后运行第3行数据等的计划

  3. 最终结果只是所有贷款的一个累计摊还计划......

    我对vba不太热,因此请求帮助。

    非常感谢任何帮助。

    非常感谢, 马特

2 个答案:

答案 0 :(得分:1)

使用A1中的数据:F4

Term Start Date Rate   Amount    Payment    End Date
30   1/1/2010    5%    120000     $644.19   1/1/2040
20   5/1/2010    5.50%  80000     $550.31   5/1/2030
30   8/1/2010    6%    190000   $1,139.15   8/1/2040

您可以像这样制作累积摊还表

F8:J8 = Date, Payment, Interest, Principle, Balance
F9:F? = 1/1/2010, 2/1/2010, etc..
G9 = {=SUM(($B$2:$B$4<F9)*($F$2:$F$4>=F9)*($E$2:$E$4))}
    copied down
H10 = =-ROUND(SUM(IF(ISERR(IPMT($C$2:$C$4/12,((YEAR(F10)-YEAR(B$2:B$4))*12)+MONTH(F10)-(MONTH(B$2:B$4)),$A$2:$A$4*12,$D$2:$D$4)),0,IPMT($C$2:$C$4/12,((YEAR(F10)-YEAR(B$2:B$4))*12)+MONTH(F10)-(MONTH(B$2:B$4)),$A$2:$A$4*12,$D$2:$D$4))),2)
    copied down
I10 = =G10-H10
    copied down
J9 = {=SUM(($B$2:$B$4=F9)*($D$2:$D$4))}
J10 = {=SUM(($B$2:$B$4=F10)*($D$2:$D$4))+J9-I10}
    copied down

清楚如泥吧?你可以在这里下载我的测试工作表

http://www.dailydoseofexcel.com/excel/CumAmort.zip

显然这里有一些简化。所有贷款都是在一个月的第一天发起和支付,依此类推。随着数据变得越来越复杂,这些公式可能会变得更加复杂。我不希望你能够在那里插入你的号码并让它工作,但希望它是你可以建立的模型的开始。

请注意,花括号中的公式是数组公式,必须使用control + shift + enter输入。

答案 1 :(得分:0)

在这种情况下,我希望远离VBA是我认为你不会需要它。 Excel有许多处理贷款的功能。

http://www.exceltip.com/st/Formulas_to_calculate_Loan_payments_in_Microsoft_Excel/301.html

http://www.meadinkent.co.uk/excel-loan-repayments.htm

http://www.exceluser.com/tools/termloans.htm

正如他们所说,如果你想学习车轮制造,你应该只重新发明轮子

相关问题