【发布时间】:2019-06-02 17:33:46
【问题描述】:
我正在使用此 VBA 代码以特定时间间隔刷新整个工作簿。 (thanks to this thread)
如您所见,目前设置为每 60 分钟刷新一次。
Public RunWhen As Double
Public Const cRunIntervalMinutes = 60
Public Const cRunWhat = "Workbook_RefreshAll"
Sub StartTimer()
RunWhen = Now + TimeSerial(0, cRunIntervalMinutes, 0)
Application.OnTime earliesttime:=RunWhen, procedure:=cRunWhat, _
schedule:=True
End Sub
Sub StopTimer()
On Error Resume Next
Application.OnTime earliesttime:=RunWhen, _
procedure:=cRunWhat, schedule:=False
End Sub
Sub Workbook_RefreshAll()
Application.CalculateFullRebuild
ActiveWorkbook.RefreshAll
Call StartTimer
End Sub
代码运行良好,但我希望它也能做一件事:
- 任何时候打开工作表,和/或
- 任何时候此 VBA 代码执行工作表刷新过程
我希望自动过滤器被“清除”(未禁用或关闭),如下面的屏幕截图所示:
提前感谢您的帮助。
干杯
【问题讨论】:
-
Any time the sheet is opened是什么意思?当一张表改变?或者?第 2 点也更不清楚。