Excel 预期的变量或过程,而不是模块

Excel 预期的变量或过程,而不是模块,excel,vba,Excel,Vba,我一直在尝试整理这个错误,但不明白为什么会发生这种情况。尝试更改子的名称,并检查多次,以确保拼写完全相同,但错误不断出现,我不明白为什么。有人能帮忙吗 您不应在模块和过程中使用相同的名称。这将导致冲突 因此,如果调用SortDataSource,它将首先找到模块名,当然它不能仅调用模块中的过程或函数 因此,如果使用相同的名称,则需要调用SortDataSource.SortDataSource以使其在模块SortDataSource内调用过程SortDataSource: 语法就像 Call M

我一直在尝试整理这个错误,但不明白为什么会发生这种情况。尝试更改子的名称,并检查多次,以确保拼写完全相同,但错误不断出现,我不明白为什么。有人能帮忙吗


您不应在模块和过程中使用相同的名称。这将导致冲突

因此,如果调用SortDataSource,它将首先找到模块名,当然它不能仅调用模块中的过程或函数

因此,如果使用相同的名称,则需要调用SortDataSource.SortDataSource以使其在模块SortDataSource内调用过程SortDataSource:

语法就像

Call ModuleName.MethodName(Argument1, Argment2)
或者没有不需要的电话

ModuleName.MethodName Argument1, Argment2

但我强烈建议不要对模块和过程使用相同的名称。正如您所见,它可能会导致错误,通过选择不同的名称可以很容易避免。

请阅读:•和••然后改进您的问题。要在标准模块中调用方法:ModuleName.MethodName我读了--help/预期变量或过程而不是module and-,以及我从谷歌搜索中获得的一些其他链接对于错误,但无法真正理解,仍然无法理解。有人能帮我吗?有人能帮我理解我做错了什么吗?快速提问,ModuleName.MethodName Argument1,Argument2没有给出错误吗?不应该是ModuleName.MethodNameArgument1、Argument2吗?不应该是粗鲁的或其他什么。我只是想知道:是的,如果使用Call,那么括号是必需的。@Rory arrg当然是!我从不使用它。谢谢你指出,谢谢。那么,当我使用另一个调用而不指定方法名call RowDelete时,为什么它会起作用呢?但它不适用于call RowSort,并且我必须为该调用调用ModuleName.MethodName Argument1,Argment2?@rubengaspa不明白你的问题。到底什么有效,什么无效?请说得更准确些。如果你需要发布更多的代码,请编辑你的原始问题,在那里添加代码并留下评论。