首页 > 解决方案 > 如何使用资本和利率计算贷款成本?Vba

问题描述

我正在以开发人员的身份进行实习,并进行了艰苦的练习。我有一个贷款文本,有 3 个空白字段,贷款、资本和利率。我已经创建了它,它看起来像这样:

    Private Sub l_jahre_Click()

End Sub

Private Sub txt_abtrag_Change()
    CalculateFormular
End Sub

Private Sub txt_darlehen_Change()
    CalculateFormular
End Sub

Private Sub txt_zinssatz_Change()
    CalculateFormular
End Sub

Private Sub CalculateFormular()
    If (validate()) Then
        Debug.Print "Success"
    End If
End Sub


Private Function validate() As Boolean
    validate = True
    On Error GoTo x
    a = CDbl(txt_abtrag.Value) + CDbl(txt_darlehen.Value) + CDbl(txt_zinssatz.Value)
    Exit Function
x:
    validate = False
End Function

Public Sub test2()
    'Debug.Print txt_zinssatz.Value
    l_zinsen.Caption = "inf."
End Sub

不要介意它们的价值xd

现在我需要用资本和利率计算贷款成本。

我需要把它填满,它看起来像这样。

Public Function GetTotalCost(ByVal capital As Double, ByVal rate As Double) As Double
    GetTotalCost = 0
End Function

Public Function GetRentTime(ByVal capital As Double, ByVal rate As Double, ByVal monthPay As Double) As Double
    GetRentTime = 0
End Function

请不要说完整的代码或完整的答案我只是需要一些帮助来理解以及我应该使用什么方法。谢谢您的帮助。

标签: vbams-word

解决方案


下面的每个财务公式都根据其他财务参数解决了一个财务参数(PV、FV、PMT、NPER),(pmt*nper)+pv+fv = 0如果比率为 0,则使用,pv*((1+rate)^nper)+pmt*(1+rate*type)*((1+rate)^nper-1)/rate+fv = 0否则,其中:

• pv 是贷款或投资的现值,代表一系列未来付款的现值。例如,当您借钱时,您所欠的金额就是贷方的现值。

• fv 是未来价值,或最后一次还款后贷款或投资的现金余额。

• rate 是每期的利率。

• nper 是贷款或投资期限内的总还款期数。

• pmt 是在每个期间支付的固定分期付款。分期付款通常包括支付本金和利息的部分,但可能不包括贷款费用等。如果您借款,这是负数,因为它代表您将支付的钱(即负现金流)。

• type 是数字 0 或 1,表示分期付款的时间。0 表示在期末付款,1 表示在期初付款。同样,一些贷款根据期初未偿金额收取利息,而另一些贷款则根据期末未偿金额收取利息。

求解未来值,公式为:

fv=-if(rate=0,pmt*nper+pv,(pv*((1+rate)^nper)+pmt*(1+rate*type)*((1+rate)^nper-1)/rate))

求解现值,公式为:

pv=-if(rate=0,pmt*nper+fv,(fv+pmt*(1+rate*type)*((1+rate)^nper-1)/rate)/((1+rate)^nper))

求解支付值,公式为:

pmt=-if(rate=0,(pv+fv)/nper,(pv*((1+rate)^nper)+fv)/((1+rate*type)*((1+rate)^nper-1)/rate))

求解周期数,公式为:

nper=-if(rate=0,(pv+fv)/pmt,(log(1+(pv+pmt*type)/pmt*rate)-log(1+(fv+pmt*type)/pmt*rate))/log(1+rate))

求解利率,公式为:

rate=(fv/pv)^(1/nper)-1

提供 pmt 为 0。否则,您只能通过迭代求解利率(例如使用上述公式之一)。


推荐阅读