我有一个正在运行的程序,但我正在努力改进它。 实际代码是这样的:
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
在我看来,像这样的东西比从sub调用Main更好。问题是它关闭了Excel。
Do While Cells(10, 1).Value = "Running"
Frequencyinterval = Now + TimeValue("00:00:10")
Application.OnTime frequencyinterval, "Sheet.Main"
Loop
我很感激任何建议。
我认为递归调用很糟糕。然而,没有其他工作。在do内等待可以停止进入股票价格的数据。
程序运行几个小时后,我的计算机进入慢速状态,之后才锁定。
答案 0 :(得分:1)
运行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