Excel未找到VBA功能

时间:2015-01-21 21:43:09

标签: excel excel-vba vba

我正在尝试创建一个VBA函数来调用Excel中的单元格,但当我输入#NAME?

时,单元格会显示为=MyFunction("a")

在我的VBA模块中Module1

Public Function MyFunction(anything As String)
    MyFunction = anything
End Function

在单元格中:

=MyFunction("a")

结果:

#NAME?

我在这里做错了什么?当我开始在单元格中键入=MyFunction时,Excel会将其列为选项,但不显示参数,然后生成此结果。

这是在2007 .xlsm文件中。

2 个答案:

答案 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的可用功能。