我正在Excel中设计一个类似仪表板的工作簿,我已经创建了一个例程,可以使用Excel VBA中的Application.OnTime
方法自动显示一些图表,但是我在调试时遇到了一些问题我的惯例。
有三个预定例程: 第一个是图表数据的快照,第二个是图表的展示,第三个是第二个,从第二个开始,通过图表,显示它们一段短暂的时间
我的主要问题是跟踪例程的最后执行情况,因为每个例程都使用Application.OnTime
所以我有两个问题:
一:有没有办法在Excel中查看来自Application.OnTime
的预定例程?
二:有没有更好的方法来安排使用VBA的重复例程?
答案 0 :(得分:1)
我无法得到预定的内容。当我调试使用OnTime的程序时,我创建了自己的日志,这样我就可以看到已安排的内容以及何时安排。
Public Function WriteLog(bSchedule As Boolean) As Boolean
Dim sFile As String, lFile As Long
Dim sOutput As String
Dim bReturn As Boolean
Const sSOURCE As String = "WriteLog()"
On Error GoTo ErrorHandler
bReturn = True
sFile = Environ("USERPROFILE") & gsLOGPATH & gsTIMERLOG
lFile = FreeFile
sOutput = bSchedule
sOutput = sOutput & "," & gdtNextRun
sOutput = sOutput & "," & gsSCHEDMACRO
sOutput = sOutput & "," & Format(Now, "mm/dd/yyyy hh:mm:ss")
Open sFile For Append As lFile
Print #lFile, sOutput
Close lFile
ErrorExit:
On Error Resume Next
WriteLog = bReturn
Exit Function
ErrorHandler:
bReturn = False
If bCentralErrorHandler(msMODULE, sSOURCE) Then
Stop
Resume
Else
Resume ErrorExit
End If
End Function
这使用了错误处理系统,因此您必须为您修复它或删除错误处理内容。
如果你有多个OnTimes,你需要一个数组或集合来跟踪。我只是计划运行或不运行的一个宏,所以我的全局变量/常量就行了。