循环与Application.OnTime

我有一个正在工作的程序,但我正在尝试改进它。 实际的代码是这样的:

Sub Main() frequencyinterval = Now + TimeValue("00:00:10") Application.OnTime frequencyinterval, "Sheet1.Subordinate" End Sub Sub Subordinate 'Do some things Call Sheet1.Main End Sub 

在我看来,像这样的东西比从main调用Main要好。 问题是它closures了Excel。

 Do While Cells(10, 1).Value = "Running" Frequencyinterval = Now + TimeValue("00:00:10") Application.OnTime frequencyinterval, "Sheet.Main" Loop 

我将不胜感激任何build议。

我认为recursion调用是不好的。 但是,没有别的作品。 在做的同时停止不合理的股票价格的数据馈送。

程序运行了几个小时后,我的电脑进入慢动作,后来才locking。

运行Main一次启动循环

 Sub Main() If Cells(10, 1).Value = "Running" Then 'do some things Call CheckTheThing() 'Schedule the next run frequencyinterval = Now + TimeValue("00:00:10") Application.OnTime frequencyinterval, "Sheet1.Main" End If End Sub