macros在closures期间运行时报错 – Sub或Function not defined
我有三个macros被放置在Excel表单2中。 我想在excel工作表closures时运行macros。 我用下面的代码,
Private Sub Workbook_BeforeClose(Cancel As Boolean) Macro1 Macro2 Macro3 End Sub
Macro1,Macro2和Macro3是sheet2中的macros。 这段代码放在Excel工作表的ThisWorkBook部分。 当我执行这个我得到一个错误,
Compile Error: Sub or Function not defined
假设sheet2的名字是“Nameofsheet2”,有人可以帮我解决这个问题吗? 我希望sheet2中的macros在excel表closures时运行。
谢谢
把你的macros代码放在一个模块上,它可能会工作。
最简单的方法就是像这样称呼他们:
Private Sub Workbook_BeforeClose(Cancel As Boolean) SheetX.Macro1 SheetX.Macro2 SheetX.Macro3 End Sub
其中SheetX
是Sheet2的内部代码名称(这是您在VBA IDE的“项目”窗口中看到的名称,可能与Excel工作表选项卡中显示的名称不同)
如果要从不是当前工作簿的macros调用macros,只需使用Application.Run [workbook]!MacroName
,
即Application.Run "Personal.xlsb!clearImmediateWindow"
如果它存储在另一个工作表中,请使用Sheet2.MacroName
。