我想声明一个全局或全模块的变量为工作簿,并将其设置在模块中供以后使用。
例如,我想把全局变量声明为工作簿,并把它设置在一个模块中,以便以后使用。
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错误
默认情况下,你的代码可能没有运行。
sub myModule()
set myWorkbook = Workbooks("myWorkbookName")
'do some stuff later
end sub
你需要在Excel的任何事件处理程序中初始化对象指针。例如,你可以在Excel的任何事件处理程序中使用 Application.WorkbookOpen 事件,该事件在打开工作簿时被触发。
更新:问题出在引用上。