excel中的Ipmt函数计算第N期中支付的利息。我写了一个宏来计算从第一期到第N期(我指定的)应付的总利息,并把它放在activecell中。但问题是我认为数组的某处我做错了它导致“无法获取WorksheetFunction类的IPMT属性”错误。你能帮我吗?
ProcessNextMessage()
答案 0 :(得分:1)
根据文档,第二个参数应为
每个必需。您想要找到兴趣的期间 并且必须在1到nper的范围内。
在您的情况下,在1到2的范围内。
目前它为0,因为你有一个初始值为0,0的数组。
你也只写出最后一个价值。
你的意思是:
i = Application.WorksheetFunction.IPmt(0.18 / 2, j, 2, 108434)
根据你的意见求和:
Option Explicit
Sub CalculateInterest()
' Static i As Long '<==should this be Long and static?
Dim i As Double
Dim j As Long ' <==Use Long rather than Integer
Dim PD(1 To 2) As Long
For j = LBound(PD) To UBound(PD)
i = i + Application.WorksheetFunction.IPmt(0.18 / 2, j, 2, 108434) 'Per should be in range 1 to 2
Next j
ActiveCell = i
End Sub