我可以编写以下有效的 VBA 函数:
Public Function C() As Long
C = 5
End Function
Public Function R() As Long
R = 6
End Function
但如果不使用 VBA 项目或模块名称限定它们,我就无法在 Excel 公式中使用它们。
FWIW, Function N
and Function T
也是有效的,但它们与内置函数冲突。
I think C
and R
必须是Excel公式中的保留名称,但我不明白为什么。任何使用C
/R
因为函数调用可以解析为函数调用,因为它们后面会立即跟随一个(
,而任何使用C
/R
就像 R1C1 符号一样not紧接着是(
.
有趣的是,如果我用项目和/或模块的名称限定函数调用,我就可以调用这些函数:
=VBAProject.C()
5
=Module1.C()
5
=VBAProject.Module1.C()
5
来自微软文档 https://support.office.com/en-us/article/Define-and-use-names-in-formulas-4d0f13ac-53b7-422e-afd2-abd7ff379c64:
提示:不能使用大小写字符“C”、“c”、
“R”或“r”作为定义名称,因为它们都用作
为当前选定的行或列选择的简写
当您在“名称”或“转到”文本框中输入它们时,会在单元格中输入它们。
我意识到定义命名范围时存在这种限制。显然它也扩展到命名 UDF(这是有道理的)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)