Contenido
La función Rate en VBA (Visual Basic for Applications) se usa para calcular la tasa de interés por período de un anualidad o de una serie de pagos iguales (cash flows). Es comúnmente utilizada en contextos financieros para determinar, por ejemplo, la tasa de interés de un préstamo o el rendimiento de una inversión.
Sintaxis básica
Rate(nper, pmt, pv, [fv], [type], [guess])
- nper es el número total de períodos de pago en la anualidad.
- pmt es el pago por período; debe permanecer constante durante la vida de la anualidad.
- pv es el valor presente, o el valor total que una serie de pagos futuros vale ahora.
- fv (opcional) es el valor futuro, o un saldo que quieres alcanzar después del último pago. Si se omite, se asume que es 0 (por ejemplo, el préstamo está totalmente saldado).
- type (opcional) es el número 0 (cero) o 1 e indica cuándo vencen los pagos. Si type es omitido, se asume que es 0 (pagos al final del período).
- guess (opcional) es el estimado inicial de la tasa de interés. Si se omite, se asume que es 10% (0.1).
Ejemplo
Supongamos que quieres calcular la tasa de interés mensual de un préstamo de $10,000 que debe ser pagado en 5 años (60 meses) con pagos mensuales de $200.
Sub EjemploRate()
Dim TasaInteresMensual As Double
Dim NumPagos As Integer
Dim PagoMensual As Double
Dim ValorPresente As Double
' Definición de los valores para el cálculo
NumPagos = 60 ' 5 años x 12 meses
PagoMensual = -200 ' Pago mensual de $200
ValorPresente = 10000 ' Valor del préstamo
' Cálculo de la tasa de interés mensual
TasaInteresMensual = Rate(NumPagos, PagoMensual, ValorPresente)
' Conversión de la tasa mensual a tasa anual
Dim TasaInteresAnual As Double
TasaInteresAnual = (1 + TasaInteresMensual) ^ 12 1
' Mostrar el resultado en un cuadro de mensaje
MsgBox "La tasa de interés mensual es: " & Format(TasaInteresMensual, "Percent") & vbCrLf & _
"La tasa de interés anual es: " & Format(TasaInteresAnual, "Percent"), vbInformation
End Sub
En este código, TasaInteresMensual se calcula utilizando la función Rate. El valor de PagoMensual se ingresa como un número negativo porque representa un desembolso de dinero. La tasa de interés mensual se devuelve como una fracción decimal, por lo que usamos el formato «Percent» para mostrarla como un porcentaje. Además, el código incluye una conversión de la tasa de interés mensual a tasa anual para obtener una perspectiva anual del interés.
No olvides que siempre debes comprobar los resultados y asegurarte de que sean coherentes con tus expectativas, ya que la función Rate puede tener varios resultados según el guess (valor inicial estimado) y los datos proporcionados.