Rate Function [VBA]

Returns the Present Value of an investment resulting from a series of regular payments.

Warning Icon

This function or constant is enabled with the statement Option VBASupport 1 placed before the executable program code in a module.


Rate( NPer as Double, Pmt as Double, PV as Double [FV as Variant], [Due as Variant], [Guess as Variant] )

Return value:



NPer is the total number of periods, during which annuity is paid.

Pmt is the regular payment made per period.

PV is the present value of the loan / investment.

FV (optional) is the future value of the loan / investment.

Due (optional) defines whether the payment is due at the beginning or the end of a period.

0 - the payment is due at the end of the period;

1 - the payment is due at the beginning of the period.

Guess(optional) determines the estimated value of the interest with iterative calculation.

Error codes:

5 Neplatné volanie procedúry


REM ***** BASIC *****

Option VBASupport 1

Sub ExampleRate

' Calculate the interest rate required to pay off a loan of $100,000 over

' 6 years, with payments of $1,500, due at the end of each month.

 Dim mRate As Double

 mRate = Rate( 72, -1500, 100000 )

 print mRate' mRate is calculated to be 0.00213778025343334

End sub