5

我在电子表格中创建了一个名为的模块foo,然后向其中添加了以下内容:

Function foo() As Variant
    foo = 5
End Function

当我尝试在 Excel 中运行该函数时,通过=foo()在单元格中输入,我得到#NAME. 当我#NAME通过单击它旁边的小图标来查看应该是什么意思时,help on this error我得到了这个:

在此处输入图像描述

好吧,不完全是这样,但它同样有用。

最终我发现将模块名称更改为foo似乎可以修复它的其他名称。我是否偶然发现了错误或功能?这种行为记录在哪里?

4

1 回答 1

6

由于可能有多个模块并且所有模块都可以具有公共功能,因此也可能存在多个具有相同名称但在不同模块中的公共功能。这就是为什么您可以调用 a UDFwith =foo.foo()。这是在名为“foo”的模块中调用名为“foo”的函数。这就是为什么=foo()如果有一个名为“foo”的模块会失败,因为foo首先评估为模块名称。

于 2016-04-16T13:13:05.307 回答