Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Actualización: noviembre 2007
Devuelve un valor de tipo Double que indica el pago de intereses durante un período determinado de una anualidad basada en pagos fijos periódicos y un tipo de interés fijo.
Function IPmt( _
ByVal Rate As Double, _
ByVal Per 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 que indica 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.Per
Requerido. Valor de tipo Double que especifica el período de pago en el intervalo de 1 a NPer.NPer
Requerido. Double que indica 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. Valor de tipo Double que indica el valor actual, o valor a día de hoy, de una serie de pagos o cobros futuros. 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 que indica 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 |
|---|---|---|
Per <= 0 o Per > 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 IPmt para calcular qué cantidad del pago representan los intereses cuando todos los pagos tienen el mismo valor. Se proporcionan el tipo de interés porcentual por período (APR / 12), el período de pago para el que se desea la parte de intereses (Period), 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 TestIPMT()
Dim APR, PVal, Period, IntPmt, TotInt, TotPmts As Double
Dim PayType As DueDate
Dim Response As MsgBoxResult
' Usually 0 for a loan.
Dim Fval As Double = 0
' Define money format.
Dim Fmt As String = "###,###,##0.00"
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 = CInt(InputBox("How many monthly payments?"))
Response = MsgBox("Do you make payments at end of the month?", MsgBoxStyle.YesNo)
If Response = MsgBoxResult.No Then
PayType = DueDate.BegOfPeriod
Else
PayType = DueDate.EndOfPeriod
End If
For Period = 1 To TotPmts ' Total all interest.
IntPmt = IPmt(APR / 12, Period, TotPmts, -PVal, Fval, PayType)
TotInt = TotInt + IntPmt
Next Period
' Display results.
MsgBox("You will pay a total of " & Format(TotInt, Fmt) & _
" in interest for this loan.")
End Sub
Requisitos
Espacio de nombres:Microsoft.VisualBasic
**Módulo:**Financial
**Ensamblado:**Visual Basic Runtime Library (en Microsoft.VisualBasic.dll)