Vba #具有相同名称的模块和函数的名称
我在电子表格中创建了一个名为Vba #具有相同名称的模块和函数的名称,vba,excel,excel-2016,Vba,Excel,Excel 2016,我在电子表格中创建了一个名为foo的模块,然后添加了以下内容: Function foo() As Variant foo = 5 End Function 当我尝试在Excel中运行函数时,通过在单元格中键入=foo(),我得到#NAME。当我点击旁边的小图标,然后点击关于此错误的帮助,查看#NAME的含义时,我得到以下信息: 嗯,不完全是这样,但它也同样有用 最后,我发现将模块名称更改为除foo之外的其他名称似乎可以解决这个问题。我是否偶然发现了一个bug或特性?此行为记录在何处
foo
的模块,然后添加了以下内容:
Function foo() As Variant
foo = 5
End Function
当我尝试在Excel中运行函数时,通过在单元格中键入=foo()
,我得到#NAME
。当我点击旁边的小图标,然后点击关于此错误的帮助,查看#NAME
的含义时,我得到以下信息:
嗯,不完全是这样,但它也同样有用
最后,我发现将模块名称更改为除
foo
之外的其他名称似乎可以解决这个问题。我是否偶然发现了一个bug或特性?此行为记录在何处?由于多个模块都有可能,并且所有模块都可以具有公共功能,因此也可能存在多个名称相同但位于不同模块中的公共功能。这就是为什么可以使用=foo.foo()
调用UDF
。这是在名为“foo”的模块中调用名为“foo”的函数。这就是为什么如果有一个名为“foo”的模块,那么=foo()
将失败,因为foo
首先作为模块名进行计算。您的意思当然是=foo()
?