我試圖通過使用彭博公式的電子表格插入國債收益率。單元格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
你是什麼意思? –