寻找解决方案后,目标搜寻功能会继续还原为原始值

时间:2018-10-08 16:03:56

标签: excel-vba quantitative-finance

鉴于全价交易,我正在寻求债券收益率。我编写了代码,以便将单元格G7中的目标收益复制到单元格J11中。但是,我注意到,在执行目标搜索后,所有值均恢复为目标搜索前的值。因此,我粘贴到单元格J11中的产量是原始产量,这是不正确的。目标搜索功能确实找到了解决方案。

我的代码在下面

Sub Repo_Price()
Dim name As String, i As Double

name = ActiveSheet.name
i = Range("G7").Value

Worksheets(name).Range("J10").Clear
Worksheets(name).Range("J11").Clear

With Application
    .MaxIterations = 500
    .MaxChange = 0.00000001
End With

Application.ScreenUpdating = False

Worksheets(name).Range("J10").Value = Worksheets(name).Range("J9").Value

'Preserving original date and YTM
Worksheets(name).Range("G1").Value = Worksheets(name).Range("G2").Value

'Calculating implied YTM
Worksheets(name).Range("G2").Value = Worksheets(name).Range("J3").Value
Range("G8").GoalSeek Goal:=Range("J10").Value, ChangingCell:=Range("G7")
Worksheets(name).Range("J11").Value = Worksheets(name).Range("G7").Value

'Returning to original date
Worksheets(name).Range("G2").Value = Worksheets(name).Range("G1").Value
Worksheets(name).Range("G1").Clear
Range("G7").Value = i

ActiveSheet.Calculate
Application.ScreenUpdating = True

End Sub

0 个答案:

没有答案