鉴于全价交易,我正在寻求债券收益率。我编写了代码,以便将单元格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