Siebel VB Language Reference > VB Language Reference >

PPmt Function

This standard VB function returns the principal portion of the payment for a given period of an annuity.


PPmt(rate, per, nper, pv, fv, due)



The interest rate per period


The payment period, in the range from 1 to nper


The total number of payment periods


The present value of the initial lump sum amount paid (as with an annuity) or received (as with a loan)


The future value of the final lump sum amount required (as with a savings plan) or paid (0 as with a loan)


0 if due at the end of each period

1 if due at the beginning of each period


The principal portion of the payment for a given period.


Rate is assumed to be constant over the life of the loan or annuity. If payments are on a monthly schedule, then rate is 0.0075 if the annual percentage rate on the annuity or loan is 9%.


This example finds the principal portion of a loan payment amount for payments made in the last month of the first year. The loan is for $25,000 to be paid back over 5 years at 9.5% interest.

Sub Button_Click
   Dim aprate, periods
   Dim payperiod
   Dim loanpv, due
   Dim loanfv, principal
   Dim msgtext
   aprate = 9.5/100
   payperiod = 12
   periods = 120
   loanpv = 25000
   loanfv = 0
      ' Assume payments are made at end of month
   due = 0
   principal = PPmt(aprate/12,payperiod,periods, _
   msgtext = "Given a loan of $25,000 @ 9.5% for 10 years,"
      msgtext = msgtext & Chr(10) & "the principal paid in month 12 is: "
End Sub

See Also

FV Function
IPmt Function
IRR Function
NPV Function
PPmt Function
PV Function
Rate Function

Siebel VB Language Reference