블룸버그 공식을 사용하여 스프레드 시트를 통해 보간 된 국채 수익률을 끌어 내려고했습니다. D2 셀의 날짜가 M4 : M2612에서 향후 10 년 동안 매일 보간 된 수익을 변경해야합니다.날짜 사이의 반복되는 루프에 코드가 걸림
스프레드 시트는 스프레드 시트에있는 표의 이러한 보간 된 출력량을 계산합니다.
Bloomberg 헬프 데스크와 이야기 한 후 다음 날짜를 변경하기 전에 코드를로드 할 수 있도록 Application.OnTime을 사용하려고합니다. 코드는 모든 날짜를 통해 무한 루프에서 실행되었습니다 (아직 수율 데이터를 제대로로드하지 않고 있음). 나는 "If Day = EndDate then Exit For"를 추가했는데 이제는 루프에 포함 된 처음 두 날짜 사이의 무한 루프에서 실행됩니다.
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
무엇을 의미합니까? –