使用VBScript,我正在尝试运行一个驻留在其中一个代码模块中的子例程。现在,这个特殊的子调用了几个其他的子/函数,包括少数驻留在表单模块上的子函数。并且在调用驻留在Sheet Modules中的这些subs时,我得到了错误:
"Sub or Function undefined!"
我该如何解决这个问题?有很多这样的功能,我不想将它们全部从Sheet模块移动到代码模块。对此有更好的解决方法吗?
调用未调用Sheet模块上任何代码的子(驻留在代码模块中)的VBScript运行正常,所以我确定上述位是导致问题的。答案 0 :(得分:6)
如果您正在调用Sub Routines或来自不同模块的功能,那么您需要确保两件事
因此,如果您有一个名为TestSub
的Sub并且它位于Sheet1的代码模块中,那么您应该像Sheet1.TestSub
一样调用它。仅使用TestSub
来调用它将导致错误Sub or Function not defined
。
如评论中所述,工作表的名称并不总是与显示名称相同。您可以在VBE中找到对象资源管理器中工作表的名称
在此示例中,实际工作表名称位于左侧,而显示名称位于右侧。您应该使用左侧的名称来参考表格。