【发布时间】:2015-02-26 11:55:58
【问题描述】:
我有一个工作簿 HasMacros.xlsm 和一个工作簿 HasData.xlsm
在 HasMacros.xlsm 中,我仅使用以下代码添加了一个名为 Mod1 的模块:
Sub testmacro()
MsgBox ("Test")
End Sub
在 HasData.xlsm 中,我仅使用以下代码添加了一个名为 Mod2 的模块:
Sub testmacro2()
'XXX
End Sub
在 Excel 中没有打开任何其他内容。
我想从写有 XXX 的 testmacro2 调用 testmacro。
这将失败并立即编译错误:
Sub testmacro2()
testmacro()
End Sub
执行时出现编译错误“未定义函数的子”:
Sub testmacro2()
Call testmacro
End Sub
这将失败并立即编译错误:
Sub testmacro2()
Mod1.testmacro()
End Sub
执行失败:
Sub testmacro2()
Call Mod1.testmacro
End Sub
我试过How to call function from another specific workbook in VBA?,但我得到了
名称与现有模块、项目或对象库冲突
如何从 HasData.xlsm 中的 VBA 代码调用 HasMacros.xlsm 中的宏
【问题讨论】: