Contenido
Sub CalculaInteresAcumulado()
Dim FechaEmision As Date
Dim FechaPrimeroCupon As Date
Dim FechaLiquidacion As Date
Dim TasaAnual As Double
Dim ValorNominal As Double
Dim Frecuencia As Integer
Dim TipoBase As Integer
Dim interesAcumulado As Double
' Establece los valores para cada uno de los argumentos
FechaEmision = "01/01/2021" ' Fecha de emisión del bono
FechaPrimeroCupon = "01/07/2021" ' Fecha del primer cupón
FechaLiquidacion = "01/03/2021" ' Fecha de liquidación o cuanto quieres calcular el interés acumulado
TasaAnual = 0.05 ' Tasa de interés anual del bono, por ejemplo 5%
ValorNominal = 1000 ' Valor nominal del bono
Frecuencia = 2 ' Frecuencia del pago de cupones (1 anual, 2 semestral, 4 trimestral, etc.)
TipoBase = 0 ' Tipo de conteo de días (0 US (NASD) 30/360, 1 Actual/actual, 2 Actual/360, 3 Actual/365)
' Usa WorksheetFunction para llamar a la función AccrInt
interesAcumulado = Application.WorksheetFunction.AccrInt( _
FechaEmision, _
FechaPrimeroCupon, _
FechaLiquidacion, _
TasaAnual, _
ValorNominal, _
Frecuencia, _
TipoBase)
' Mostrar el resultado en un cuadro de mensaje
MsgBox "El interés acumulado para el periodo dado es: " & interesAcumulado
End Sub
Para llamar a esta macro, puedes simplemente ejecutar CalculaInteresAcumulado utilizando F5 desde el Editor de VBA, o asignándola a un botón en la hoja de Excel.
Es muy importante que revises los argumentos de la función y te asegures de que están correctamente configurados para el instrumento financiero que estás evaluando. Cada uno de los parámetros tiene significados específicos y afectará el cálculo del interés acumulado.