如何声明一个全局变量,在模块中设置为工作簿并在以后使用?

问题描述 投票:0回答:1

我想声明一个全局或全模块的变量为工作簿,并将其设置在模块中供以后使用。

例如,我想把全局变量声明为工作簿,并把它设置在一个模块中,以便以后使用。

public myWorkbook as Workbook 

sub myModule()
    set myWorkbook = Workbooks("myWorkbookName")
    'do some stuff later
end sub

然后在以后的模块中使用它

sub anotherModule()
' do some stuff with myWorkbook
...

end sub

但是我在编译的时候得到了byref错误

excel excel-vba
1个回答
0
投票

默认情况下,你的代码可能没有运行。

sub myModule()
    set myWorkbook = Workbooks("myWorkbookName")
    'do some stuff later
end sub

你需要在Excel的任何事件处理程序中初始化对象指针。例如,你可以在Excel的任何事件处理程序中使用 Application.WorkbookOpen 事件,该事件在打开工作簿时被触发。

更新:问题出在引用上。

© www.soinside.com 2019 - 2024. All rights reserved.