2013-05-29 35 views
0

我有一些应该在打开特定工作簿时使用最新数据执行的过程。但是,我发现只有在工作簿公开事件发生后才能更新外部数据源。 我该如何改变?或者我能做些什么才能让这些程序只在外部数据源更新后自动运行?刷新数据源和workbook_open事件

+0

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

回答

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宏并运行它!

+0

对不起,我猜我的问题有点不清楚。我知道如何使用工作簿打开事件,并将我的宏调用放在那里。这个宏合并了很多Sheets的一些数据。这些表格包含来自放置在其他Excel表格中的外部数据源的数据。此更新和合并很有用。但顺序是错误的。外部工作表的更新发生在工作簿打开后。但是我希望它们在Workbook Open之前发生。那么我能做什么?更新后还有其他事件被触发吗? – MichiZH

+0

写一个VBScript文件,将更新工作簿,然后打开它 – 2013-05-29 10:02:10

+0

这将如何?对不起,没有做过... – MichiZH