0
我有一个Excel加载项,我希望在打开模板时运行某些宏。如果我打开excel然后手动运行auto_open sub,但运行良好,但在打开excel时会抛出'运行时错误9.下标超出范围'。VBA加载项无法在自动打开时引用工作表
看起来像加载中加载并试图在模板加载之前运行,以便在尝试引用工作簿中的特定工作表时无法找到任何内容。
具体的错误出现在
Set shtData = Workbooks("Example_Template.xlsm").Worksheets("Test")
我如何可以强制Auto_Open宏一旦工作表加载运行?
我的汽车开放代码是:
Sub Auto_Open()
Set clsAppEvents = New clsApplicationEvents
Application.Run "PerformanceOpen"
End Sub
,我试图运行宏包含:
Private Sub PerformanceOpen()
Dim shtData As Worksheet
Set shtData = Workbooks("Example_Template.xlsm").Worksheets("Test")
shtData.Activate
好的,谢谢 - 我可以将它作为特定工作簿的开放事件,同时将代码保存在加载项中而不是工作簿本身中?如果是这样,我会怎么做呢? – db579
是的,正如我所提到的,您可以编写在任何*工作簿打开时运行的代码,然后检查书的名称。我会质疑你的做法。加载项旨在为Excel添加其他功能。如果它正在等待打开另一个特定工作簿,那么IMO不再是加载项。祝你好运;) –
是的,我显然更喜欢只是保持它作为一个简单的工作簿宏,但由于我的控制原因,它只会在加载项中工作...感谢您的帮助! – db579