2016-09-30 115 views
0

我已经回顾了与调用子模块中的模块有关的其他问题,但解决方案似乎不适用于我的案例。我试图在我命名为filepath1的userform文本框内发生更改时在模块内运行代码。调用子模块中的模块

下面是我尝试运行的代码的副本。每当我收到编译错误“预期的变量或过程,而不是模块”。确认我的模块名称与子窗体或用户窗体中的任何其他名称不同。任何建议表示赞赏!

Private Sub Filepath1_Change() 
    Call ChangeFilepath 
End Sub 
+0

如果Excel“看见”一个模块,则必须有一个与子程序,函数或变量具有相同的名称。当出现错误时是否突出显示了一行?也许有问题的模块在另一本打开的书中? – Hrothgar

回答

1

大多数情况下,模块可以安全地忽略。你不是试图运行一个模块,而是试图运行存储在模块中的子例程,只要它没有设置为私有模式,就不需要指定模块名称。

如果您在名为“UpdateFilepath”的模块中有一个名为“ChangePath”的宏,您的调用将是Call ChangePath

+0

可能有一个复杂因素--OP可能在称为“ChangePath”的模块中有一个名为“ChangePath”的子例程,在这种情况下,它们需要限定子例程的名称并使用“调用ChangePath.ChangePath”。 – YowE3K