【问题标题】:Refresh entire Excel workbook (all data connections and calculations) every 15 minutes?每 15 分钟刷新整个 Excel 工作簿(所有数据连接和计算)?
【发布时间】:2016-08-20 09:55:14
【问题描述】:

我有以下宏来刷新我的工作簿。这与单击全部刷新按钮相同。

我是否可以在此代码中添加时间元素来刷新我工作簿中所有工作表上的所有数据连接和所有计算每 15 分钟一次?

工作簿具有从 SharePoint 列表项中提取数据的单元格,并且还包含典型的公式计算。

Sub Workbook_RefreshAll()
ActiveWorkbook.RefreshAll
End Sub

【问题讨论】:

    标签: excel vba refresh


    【解决方案1】:

    刷新您可以使用的所有计算:

    application.Calculate
    

    P.S.:对不起我的英语

    【讨论】:

      【解决方案2】:

      您可以使用Application.OnTime 方法来安排将来运行的宏:https://msdn.microsoft.com/en-us/library/office/ff196165.aspx

      不过,这只是一次性活动。为了使其递归,您必须在该宏中(再次)包含另一个 Application.OnTime 以确保“每 15 分钟”调用一次。

      【讨论】:

        【解决方案3】:

        在标准模块中输入以下内容:

        Public RunWhen As Double
        Public Const cRunIntervalMinutes = 15
        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
        

        开始进程运行StartTimer(),结束进程运行StopTimer()

        改编自Chip Pearson's Site

        我使用了一些 Shapes 来运行宏:

        【讨论】:

        • 谢谢加里。我是否希望将 StartTimer() 和 StopTimer() 放入各自的模块中?这将是一条很好的路线,特别是考虑到我可以为工作簿创建一个开始和停止按钮。
        • @user1266515 在测试刚刚发布的代码时,我将所有代码放在一个标准模块中,并将StartTimer() 和 StopTimer()` 分配给工作表上的某些形状。
        • 这很有趣。我不知道可以通过按钮或形状调用单个模块中的函数。再次感谢!
        • @user1266515 只需右键单击形状并分配宏!
        • 是的!再次感谢!
        猜你喜欢
        • 2017-03-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-06-19
        • 2017-03-14
        • 2015-06-08
        相关资源
        最近更新 更多