#NAME与模块和功能相同的名称

时间:2016-04-16 11:08:33

标签: vba excel-vba excel-2016 excel

我在电子表格中创建了一个名为Confirm registration of visitor的模块,然后我添加了以下内容:

Update Seats

当我尝试在Excel中运行该功能时,通过在单元格中键入foo,我得到Function foo() As Variant foo = 5 End Function 。当我通过点击旁边的小图标然后=foo()来查看#NAME应该表示的意思时,我得到了这个:

enter image description here

嗯,不完全是这样,但它一样有用。

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

1 个答案:

答案 0 :(得分:6)

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