因此,我正在編寫一個引用bloomberg單元格公式的代碼......因此循環經常跳過的速度比數據可以加載的快。我認爲如果我能以某種方式延遲循環的迭代,就可以相對容易地解決這個問題......這將給單元格填充時間。這是我迄今寫的,我不確定如何真正寫出最後一行。如何使用Application.OnTime來延遲循環
x = 1
If x < TixCollection.count Then
' runs report if ADR Close is active
If Sheets("Input").Range("L2").value = "x" Then
Call build_singleEquity(x)
'Set pat = New pattern
Application.OnTime Now + TimeValue("00:00:10"), "pattern_recogADR"
If Sheets("Input").Range("L5").value = "x" Then
Dim sht_name As String
sht_name = TixCollection(x).ADR & "_ADRclose"
Call Sheet_SaveAs(path_ADRclose, sht_name, "SingleEquityHistoryHedge")
End If
End If
'runs report if ORD Close is active
If Sheets("Input").Range("L9").value = "x" Then
Call build_ordCloseTrade(x)
If Sheets("Input").Range("L13").value = "x" Then
Dim sht_name1 As String
sht_name1 = TixCollection(x).ADR & "_ORDclose"
Call Sheet_SaveAs(path_ORDclose, sht_name1, "OrdCloseTrade")
End If
End If
Application.OnTime Now + TimeValue("00:00:15"), x = x + 1 'want to write something like this but syntax is wrong
值得注意的是:您提供的這段代碼實際上並不包含任何'Loop'結構。除此之外,我認爲你需要使用'睡眠'功能。請參閱下面的答案。嘗試一下,並根據需要修改你的代碼 - 如果你有麻煩,我會檢查並嘗試提供幫助。 –