Função PPgto

Retorna um Double especificando o pagamento principal de uma anuidade para um determinado período com base em pagamentos fixos periódicos e uma taxa de juros fixa.

Sintaxe

PPmt(taxa, per, nper, vp, [ fv, [ tipo ]])

A função PPmt tem estes argumentos nomeados:

Sair Descrição
taxa Obrigatório. Duas vezes especificando a taxa de juros por período. Por exemplo, se você obtiver um empréstimo de carro a uma taxa percentual anual (APR) de 10% e fizer pagamentos mensais, a taxa por período será 0,1/12 ou 0,0083.
por Obrigatório. Número inteiro que especifica o período de pagamento no intervalo de 1 a nper.
nper Obrigatório. Número inteiro que especifica o número total de períodos de pagamento na anuidade. Por exemplo, se você fizer pagamentos mensais de um empréstimo de carro de quatro anos, seu empréstimo terá um total de 4 * 12 (ou 48) períodos de pagamento.
pv Obrigatório. Duplicar a especificação do valor presente, ou o valor atual, de uma série de pagamentos ou recebimentos futuros. Por exemplo, quando você pede dinheiro emprestado para comprar um carro, o valor do empréstimo é o valor presente para o credor dos pagamentos mensais do carro que você fará.
vf Opcional. Variante que especifica o valor futuro ou o saldo de caixa que você deseja depois de fazer o pagamento final. Por exemplo, o valor futuro de um empréstimo é US$ 0, pois esse é o seu valor após o pagamento final. No entanto, se você quiser economizar $ 50,000 em 18 anos para a educação de seu filho, $ 50,000 é o valor futuro. Se omitido, 0 será assumido.
type Opcional. Variante que especifica o vencimento dos pagamentos. Use 0 se os pagamentos vencerem no final do período de pagamento ou use 1 se os pagamentos vencerem no início do período. Se omitido, 0 será assumido.

Comentários

Uma anuidade é uma série de pagamentos fixos em dinheiro feitos durante um período de tempo. Uma anuidade pode ser um empréstimo (como uma hipoteca residencial) ou um investimento (como um plano de poupança mensal).

Os argumentosrate e nper devem ser calculados usando períodos de pagamento expressos nas mesmas unidades. Por exemplo, se a taxa for calculada usando meses, nper também deverá ser calculado usando meses.

Para todos os argumentos, o dinheiro pago (como depósitos na poupança) é representado por números negativos; O dinheiro recebido (como cheques de dividendos) é representado por números positivos.

Exemplo

Este exemplo usa a função PPmt para calcular quanto de um pagamento para um período específico é principal quando todos os pagamentos são de igual valor. Dada é a taxa percentual de juros por período (APR / 12), o período de pagamento para o qual a parcela principal é desejada (Period), o número total de pagamentos (TotPmts), o valor presente ou principal do empréstimo (PVal), o valor futuro do empréstimo (FVal) e um número que indica se o pagamento é devido no início ou no final do período de pagamento (PayType).

Dim NL, TB, Fmt, FVal, PVal, APR, TotPmts, PayType, Payment, Msg, MakeChart, Period, P, I
Const ENDPERIOD = 0, BEGINPERIOD = 1    ' When payments are made.
NL = Chr(13) & Chr(10)    ' Define new line.
TB = Chr(9)    ' Define tab.
Fmt = "###,###,##0.00"    ' Define money format.
FVal = 0    ' Usually 0 for a loan.
PVal = InputBox("How much do you want to borrow?")
APR = InputBox("What is the annual percentage rate of your loan?")
If APR > 1 Then APR = APR / 100    ' Ensure proper form.
TotPmts = InputBox("How many monthly payments do you have to make?")
PayType = MsgBox("Do you make payments at the end of month?", vbYesNo)
If PayType = vbNo Then PayType = BEGINPERIOD Else PayType = ENDPERIOD
Payment = Abs(-Pmt(APR / 12, TotPmts, PVal, FVal, PayType))
Msg = "Your monthly payment is " & Format(Payment, Fmt) & ". "
Msg = Msg & "Would you like a breakdown of your principal and "
Msg = Msg & "interest per period?"
MakeChart = MsgBox(Msg, vbYesNo)    ' See if chart is desired.
If MakeChart <> vbNo Then
    If TotPmts > 12 Then MsgBox "Only first year will be shown."
    Msg = "Month  Payment  Principal  Interest" & NL
    For Period = 1 To TotPmts
        If Period > 12 Then Exit For    ' Show only first 12.
        P = PPmt(APR / 12, Period, TotPmts, -PVal, FVal, PayType)
        P = (Int((P + .005) * 100) / 100)    ' Round principal.
        I = Payment - P
        I = (Int((I + .005) * 100) / 100)    ' Round interest.
        Msg = Msg & Period & TB & Format(Payment, Fmt)
        Msg = Msg & TB & Format(P, Fmt) & TB & Format(I, Fmt) & NL
    Next Period
    MsgBox Msg    ' Display amortization table.
End If

Confira também

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.