每晚自动刷新excel中的嵌入式查询。这能做到吗?
如果我能在每天早上6点上班前更新所有的查询、数据透视表和公式,这将对我有很大的帮助 我有一段代码,是从堆栈溢出中得到的,它会自动更新查询每晚自动刷新excel中的嵌入式查询。这能做到吗?,excel,vba,refresh,Excel,Vba,Refresh,如果我能在每天早上6点上班前更新所有的查询、数据透视表和公式,这将对我有很大的帮助 我有一段代码,是从堆栈溢出中得到的,它会自动更新查询 Public Sub Refresh() 'refresh ActiveWorkbook.RefreshAll Application.OnTime alertTime, "Refresh" End Sub 我知道它会更新查询,但我希望将其设置为在特定时间执行此操作,然后执行所有透视表和公式。如果它使用上次正确更新的单元格作为检查来更新单元格,也
Public Sub Refresh()
'refresh
ActiveWorkbook.RefreshAll
Application.OnTime alertTime, "Refresh"
End Sub
我知道它会更新查询,但我希望将其设置为在特定时间执行此操作,然后执行所有透视表和公式。如果它使用上次正确更新的单元格作为检查来更新单元格,也会很好
谢谢大家!我很感激 我想你想通过.vbs启动这个。将此代码复制并粘贴到文本文件(记事本)中,保存时,将“.txt”更改为“所有文件”,并将其保存为“launchMacros.vbs”(或您拥有的其他文件)
然后使用windows任务计划程序在可以访问Excel文件的计算机上启动此.vbs文件,并将被唤醒。如果您不确定如何使用任务调度器,只需搜索web,这是很常见的,您会找到很多相关资源。您的宏将完美地完成您希望它完成的任务,只需进行一些小的调整
ActiveWorkbook.RefreshAll
确实会刷新工作簿中的所有外部数据区域和数据透视表。要计算公式,请使用Application.calculate
至于您希望子执行的具体时间,Application.OnTime
接受一个时间值。因此,您可以插入次日上午6点的时间值,例如使用:
Dim y As Long
Dim m As Long
Dim d As Long
y = Year(Now)
m = Month(Now)
d = Day(Now)
Application.OnTime DateSerial(y, m, d + 1) + TimeSerial(6, 0, 0), "Refresh"
Dim y As Long
Dim m As Long
Dim d As Long
y = Year(Now)
m = Month(Now)
d = Day(Now)
Application.OnTime DateSerial(y, m, d + 1) + TimeSerial(6, 0, 0), "Refresh"