Excel VBA:全部刷新并保存

时间:2017-10-10 21:18:23

标签: excel vba save refresh

我有一个非常简单的任务,想要刷新工作簿上的所有内容(只包含3个包含外部数据的表)并每5分钟保存一次。 我目前通过以下方式每5分钟运行一次自动保存工作簿:

Sub SaveWb()
    ThisWorkbook.Save
    Application.OnTime Now + TimeValue("00:05:00"), "SaveWb"
End Sub

&安培;

Private Sub Workbook_Open()
    Application.OnTime Now + TimeValue("00:05:00"), "SaveWb"
End Sub

表格在5分钟内使用后台自动刷新的连接属性刷新。 但是,我一直在遇到excel会提示的问题:

"这将取消待处理的数据刷新。继续? [确定] [取消]"

我想知道我是否可以在VBA中运行刷新,这样它们可以很好地运行而不需要保持刷新。虽然使用wb.RefreshAll功能这似乎很容易,但我不存在的vba技能不允许我把它们放在一起....

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:1)

我尝试了一点,通过编辑代码的一部分,它现在有效:

Sub SaveWb()
    ThisWorkbook.RefreshAll
    ThisWorkbook.Save
    Application.OnTime Now + TimeValue("00:05:00"), "SaveWb"
End Sub

没有更多"这将取消待处理的数据刷新。继续"

答案 1 :(得分:0)

需要调用Application.DisplayAlerts = False以禁用警告