如何使用 VBA 计时器定期更新 Excel 工作表

立即分享:

本文介绍如何定期刷新工作表或图表。 本练习构建一个计时器,每分钟刷新一次工作表,反映源数据的变化。

本文假定读者已显示开发人员功能区并且熟悉 VBA 编辑器。 如果没有,请谷歌“Excel Developer Tab”或“Excel Code Window”。

可以找到本练习中使用的工作簿示例 开始.

动态报告的用途可能是:

  • 阅读专着tary 随贵公司电话系统提供的数据库,用于分析呼叫。
  • 每 15 分钟生成一个随机数,用于抽奖或抽奖。
  • 满足特定级别时自动从本地数据库发送电子邮件。 (这里计时器将根据达到的级别决定是否触发进程)。

或者,我们将使用的那个:

  • 显示来自互联网的最新美元/欧元汇率。

数据是从 雅虎财经网站 每隔一分钟。 测试成功后,应更换更长的处理间隔。

界面

打开一个新的工作簿;

将第一张表命名为“显示”。 由于表格 D8 到 E11 将从网络中填充,因此不需要输入值或行标题。 其余的是可选的。准备界面

守则

打开 VBA 代码窗口并插入一个模块。 将下面的代码复制到模块中。

Auto_Open 事件tar在工作簿打开时 ts 定时器,在工作簿关闭时停止,除非代码在开发过程中被开发人员中断。VBA代码

Sub Auto_Open()
AlertTime = Now + TimeValue("00:01:00") 'interval in minutes
Application.OnTime AlertTime, "Ticker"      'call Sub Ticker, below
End Sub

Sub Ticker()
    Dim currBuy As String
    Dim currSell As String

    Range("D8:F11").ClearContents            'prepare the destination for the web data
    currBuy = "USD"
    currSell = "EUR"
    With ActiveSheet.QueryTables.Add(Connection:= _
        "URL;http://finance.yahoo.com/q?s=" & currBuy & currSell & "=X", Destination:=Range("$D$8"))
        .Name = "q?s=" & currSell & currBuy & "=X"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .WebSelectionType = xlSpecifiedTables
        .WebFormatting = xlWebFormattingNone
        .WebTables = """table1"""
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebDisableDateRecognition = False
        .WebDisableRedirections = False
        .Refresh BackgroundQuery:=False
    End With
    AlertTime = Now + TimeValue("00:01:00") ‘move trigger on a minute
    Application.OnTime AlertTime, "Ticker"
End Sub

结果

每隔 n 分钟,工作表“显示”中的表格将从雅虎网站更新一次。 更复杂的数据连接请参考微软网站。

恢复损坏的工作簿

众所周知,Excel 会在意想不到的时刻崩溃,这可能与当时资源匮乏有关。 在这种情况下,源文件可以是 irrevocab严重损坏,拒绝重新打开。 在没有频繁备份的情况下,恢复的工具 Excel损坏 文件将是无价的。

作者简介:

Felix Hooker 是一位数据恢复专家 DataNumen, Inc.,它是数据恢复技术领域的世界领先者,包括 rar 固定 和sql恢复软件产品。 欲了解更多信息,请访问 datanumen.com

立即分享:

评论被关闭。