我正在尝试创建一个VBA函数来调用Excel中的单元格,但当我输入#NAME?
=MyFunction("a")
在我的VBA模块中Module1
:
Public Function MyFunction(anything As String)
MyFunction = anything
End Function
在单元格中:
=MyFunction("a")
结果:
#NAME?
我在这里做错了什么?当我开始在单元格中键入=MyFunction
时,Excel会将其列为选项,但不显示参数,然后生成此结果。
这是在2007 .xlsm
文件中。
答案 0 :(得分:2)
您的 UDF 位于正确的位置并且编码正确,如果有问题的工作簿,则如果已启用 将被识别为 br /> 检查您的安全设置。
答案 1 :(得分:0)
我有一个启用了宏的文件,我已将“宏安全性”设置为“全部启用”,我检查了对VBA项目对象模型的“信任”访问,我的工作簿位于“受信任的位置”,但仍无法键入函数名或在“插入函数”对话框中找到它。还有哪些其他安全设置?
这是Windows 10 Pro上最新未修改的2016 x64安装。
我在ThisWorkbook(代码)中有
:12.2.1.5 Static Semantics: AssignmentTargetType
PrimaryExpression:
this
Literal
...
Return invalid.
我在Sheet2中(代码):
Public Function TestJohn(derp As String) As String
TestJohn = "test john " & derp
End Function
这两个都不显示为Sheet2的可用功能。