VBA中没有定时器,但是可以使用 “Application.OnTime 时间,过程名”的方式来做一个定时器
Public TimerEnabled As Boolean
Sub EnableTimer() '开始
TimerEnabled = True
StartTimer
End Sub
Sub DisableTimer() '停用
TimerEnabled = False
End Sub
Sub StartTimer() '注意改代码需要放在模块级
If TimerEnabled = True Then
Application.OnTime Now + TimeValue("00:00:01"), "StartTimer" '每1秒钟自动运行一次
Work '需要每秒运行的代码
End If
End Sub
Sub Work()
Sheet1.Cells(1, 1) = Sheet1.Cells(1, 1) + 1
End Sub