我试图通过使用彭博公式的电子表格插入国债收益率。单元格D2中的日期必须改变,那么未来10年内每天的内插收益率将填入M4:M2612。代码卡在日期之间的重复循环
电子表格根据电子表格中存在的表格计算这些插值收益率。
在与彭博服务台交流之后,我试图使用Application.OnTime来允许代码在更改下一个日期之前加载。代码在每个日期都以无限循环运行(仍然没有正确加载yield数据)。我添加了“If Day = EndDate然后退出”,现在它运行在我的循环中包含的前两个日期之间的无限循环中。
它在Excel中的调试中没有提供任何错误。有关如何提取这些数据的任何建议?
我需要这段代码每天拉12年,我使用较小的日期范围来对代码进行采样。
Public Sub master()
Call Range("A1:A2609").ClearContents
Call Range("M4:M2612").Select
Call Application.Run("RefreshCurrentSelection")
Call Application.OnTime(Now + TimeValue("00:00:02"), "Master2")
End Sub
Sub Master2()
Dim wb As Workbook
Dim sht1 As Worksheet
Dim sht2 As Worksheet
Dim c As Range
Set wb = ThisWorkbook
Set sht1 = wb.Sheets("Sheet1")
Set sht2 = wb.Sheets("Sheet2")
Dim StartDate As Date
Dim EndDate As Date
Dim Day As Date
StartDate = #4/2/2007#
EndDate = #4/6/2007#
For Day = StartDate To EndDate
MsgBox (Day)
If Day = EndDate then Exit For
sht1.Range("D2").Value = Day
For Each c In Selection.Cells
If c.Value = "#N/A Invalid Parameter:Interpolation Values" Then
Call Application.OnTime(Now + TimeValue("00:00:02"), "Master2")
Exit Sub
End If
Next c
sht2.Range("A1:A2609").Offset(1, 1).Value = sht1.Range("M4:M2612").Value
Next Day
End Sub
无法重现。 – bernie
什么是'StartDate =#4/2/2007#'? '''做什么? – BruceWayne
你是什么意思? –