Pmt Function [VBA]

Calculates the constant periodic payments for a loan or investment.

Warning Icon

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


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

Return value:



Rate is the periodic interest rate.

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

PV is the (present) cash value of an 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.

Error codes:

D'oh! You found a bug (text/sbasic/shared/00000003.xhp#err5 not found).


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


' Calculate the monthly payments to a loan that is to be paid in full over 6 years.

' Interest is 10% per year and payments are made at the end of the month.

Sub ExamplePmt

 Dim myPmt As Double

 myPmt = Pmt( 0.1/12, 72, 100000 )

 print MyPmt 'is calculated to be -1852,58377757705

End Sub