【问题标题】:Refresh data sources and workbook_open event刷新数据源和 workbook_open 事件
【发布时间】:2013-05-29 08:42:33
【问题描述】:

我有一些程序在打开某个工作簿时应该使用最新数据执行。但是,我发现外部数据源仅在工作簿打开事件发生后才会更新。 我该如何改变呢?或者我该怎么做才能使这些程序仅在外部数据源更新后自动运行?

【问题讨论】:

  • 我对你的措辞有点困惑。外部数据源如何更新?

标签: excel vba


【解决方案1】:

您打开工作簿,Workbook_Open() 事件就会启动。例如,

Private Sub Workbook_Open()
    MyMacro
    'Call MyMacro
    'Run "MyMacro"
End Sub

Sub MyMacro()
    MsgBox "This macro fires at Workbook_Open Event", vbInformation, "Info"
End Sub

这会显示一个带有字符串This macro fires... 的消息框。

现在让我们将其视为更新记录的宏。现在,记录正在更新,您想要刷新工作簿。

您点击ALT + F8 或导航到View Macros 窗口并找到MyMacro 宏并运行它!

【讨论】:

  • 对不起,我想我的问题有点不清楚。我知道如何使用工作簿打开事件并将我的宏调用放在那里。这个宏合并了很多表格中的一些数据。这些工作表包含来自外部数据源的数据,这些数据位于其他 Excel 工作表中。此更新和合并效果很好。但是顺序不对。外部工作表的更新发生在工作簿打开之后。但我希望它们在工作簿打开之前发生。那么我能做什么呢?更新后是否有另一个事件被触发?
  • 编写一个 VBScript 文件来更新工作簿然后打开它
猜你喜欢
  • 1970-01-01
  • 2015-03-29
  • 2012-03-31
  • 2016-08-18
  • 2023-03-15
  • 2010-09-20
  • 1970-01-01
  • 2016-01-11
相关资源
最近更新 更多