Hola Todos,
Como siempre me dirijo a ustedes porque me ayudan mucho. Estoy haciendo una
macro para sacar un Yiel to maturity y para sacar el yield es necesario usar
solver o recursividad, pero obvio prefiero solver. La cosa es que la macro es
un Public FUnc para usarlo como función cuando quiera, pero mi código sé que
está mal, pero no sé en que...alguien me puede ayudar, me mega urge.
Lo que trato de hacer es yo poner en la hojan de excel +YTM() con los
parámetros y que esto me regrese el valor del Yield Maturity y si se puede
tmb en otra celda el current yield...Les pongo el código que he hecho, espero
me puedan ayudar. Grax
La Bruja May
Public Function YTM(VN As Double, TC As Double, PDado As Double, Vencimiento
As Double, Frecuencia As Double)
Dim PrecioSol, TCP, CP, CA, CY, YTMPCorre
'Cálculo de cupones
TCP = TC / Frecuencia
CP = TCP * VN
CA = VN * T
'Cálculo de Current Yield
CY = CA / P
Worksheets("Yields").Cells(9, "d") = CY
' Macro para usar Solver
'
' Para poder usar esta macro, debe establecer una referencia a Solver:
' Cuando esté activado un módulo de Visual Basic, haga clic en
Referencias,
' del menú Herramientas, y active 'SOLVER'
' Si 'SOLVER' no aparece en la lista, haga clic en Examinar y abra
'Solver.xla'
' En mi PC 'Solver.xla' se encuantra en:
' C:\Archivos de programa\Microsoft Office\OFFICE11\Macros\SOLVER
Worksheets("Yields").Activate
SOLVER.SolvReset
SOLVER.SolvOk SetCell:="$E$16", MaxMinVal:=3, ValueOf:="0",
ByChange:="$D$16"
SOLVER.SolvSolve UserFinish:=True
SOLVER.SolverFinish keepfinal:=1
YTM = "$D$16" * Frecuencia
End Function
Leer las respuestas