Pmt (Función)

Actualización: noviembre 2007

Devuelve un valor de tipo Double que indica el importe de una anualidad basada en pagos fijos periódicos con un tipo de interés fijo.

Function Pmt( _
   ByVal Rate As Double, _
   ByVal NPer As Double, _
   ByVal PV As Double, _
   Optional ByVal FV As Double = 0, _
   Optional ByVal Due As DueDate = DueDate.EndOfPeriod _
) As Double

Parámetros

  • Rate
    Requerido. Double especifica el tipo de interés por período. Por ejemplo, si obtiene un crédito para comprar un automóvil a una tasa porcentual anual (TAE) del 10 por ciento, y realiza pagos mensuales, el tipo por período será 0,1/12 ó 0,0083.

  • NPer
    Requerido. Double especifica el número total de períodos de pago (plazos) de la anualidad. Por ejemplo, si realiza pagos mensuales correspondientes a un crédito para adquirir un automóvil a cuatro años, el crédito tendrá un total de 4 x 12 (ó 48) períodos de pago.

  • PV
    Requerido. Double indica el valor actual (valor total) de una serie de pagos que se realizarán en el futuro. Por ejemplo, en el momento de obtener un crédito para comprar un automóvil, el importe del mismo es el valor actual para el prestamista de los pagos mensuales que se realizarán.

  • FV
    Opcional. Double especifica el valor futuro o el saldo en efectivo que se desea tener una vez realizado el pago final. Por ejemplo, el valor futuro de un crédito es 0 $, puesto que ése es su valor después del pago final. Sin embargo, si desea ahorrar 50.000 dólares durante 18 años para la educación de su hijo, el valor futuro será 50.000 dólares. Si se omite, se supone que es 0.

  • Due
    Opcional. Objeto de tipo DueDate (Enumeración) que indica cuándo vencen los pagos. Este argumento debe ser DueDate.EndOfPeriod si los pagos vencen al final del período o DueDate.BegOfPeriod si los pagos vencen al principio del mismo. Si se omite, se supone que es DueDate.EndOfPeriod.

Excepciones

Tipo de excepción

Número de error

Condición

ArgumentException

NPer

Consulte la columna "Número de error" si está actualizando aplicaciones de Visual Basic 6.0 que utilizan el control de errores no estructurado. (Se puede comparar el número de error con respecto a Number (Propiedad, objeto Err)). Sin embargo, siempre que sea posible, se debe considerar la sustitución de dicho control de errores por Información general sobre el control estructurado de excepciones de Visual Basic.

Comentarios

Una anualidad es una serie de pagos fijos en efectivo realizados a lo largo de un período de tiempo. Puede ser un préstamo (como la hipoteca de un inmueble, por ejemplo) o una inversión (como un plan de ahorro mensual).

Los argumentos Rate y NPer deben calcularse utilizando períodos de pago expresados en las mismas unidades. Por ejemplo, si Rate se calcula en meses, NPer deberá calcularse del mismo modo.

Para todos los argumentos, el efectivo abonado (como depósitos de ahorro) se representa con números negativos; y el recibido (como cheques de dividendos), con números positivos.

Ejemplo

En este ejemplo se utiliza la función Pmt para devolver el pago mensual de un préstamo en un período establecido. Se proporcionan el tipo de interés porcentual por período (APR / 12), el número total de pagos (TotPmts), el valor actual o principal del préstamo (PVal), el valor futuro del préstamo (FVal) y un número que indica si el pago vence al principio o al final del período de pago (PayType).

Sub TestPMT()
    Dim PVal, APR, Payment, TotPmts As Double
    Dim PayType As DueDate
    Dim Response As MsgBoxResult

    ' Define money format.
    Dim Fmt As String = "###,###,##0.00"
    ' Usually 0 for a loan.
    Dim FVal As Double = 0
    PVal = CDbl(InputBox("How much do you want to borrow?"))
    APR = CDbl(InputBox("What is the annual percentage rate of your loan?"))
    If APR > 1 Then APR = APR / 100 ' Ensure proper form.
    TotPmts = CDbl(InputBox("How many monthly payments will you make?"))
    Response = MsgBox("Do you make payments at the end of month?", MsgBoxStyle.YesNo)
    If Response = MsgBoxResult.No Then
        PayType = DueDate.BegOfPeriod
    Else
        PayType = DueDate.EndOfPeriod
    End If
    Payment = Pmt(APR / 12, TotPmts, -PVal, FVal, PayType)

    MsgBox("Your payment will be " & Format(Payment, Fmt) & " per month.")
End Sub

Requisitos

Espacio de nombres:Microsoft.VisualBasic

**Módulo:**Financial

**Ensamblado:**Visual Basic Runtime Library (en Microsoft.VisualBasic.dll)

Vea también

Referencia

Resumen financiero

ArgumentException