调用 UDF 时出现“此函数不带参数”错误

Posted

技术标签:

【中文标题】调用 UDF 时出现“此函数不带参数”错误【英文标题】:"This function takes no arguments" error when calling UDF 【发布时间】:2018-09-24 09:41:57 【问题描述】:

我正在为 Excel 工作表编写用户定义的函数,但无法调用它。每次我尝试插入它时,“函数参数”窗口都会显示“此函数不接受任何参数”。事实上,它确实需要参数。

我可以在公式栏中修改它以传递参数,但它仍然只在单元格中显示公式。

该功能在我第一次创建时有效,但在保存并在 4 天后返回后它不再有效。我还尝试创建一个简单的测试函数(如下),但发生了同样的错误,所以我怀疑这不是代码的问题,而是 Excel 本身的问题。

Public Function ReturnRefContents(SourceString As String)

    ReturnRefContents = SourceString

End Function

同时使用函数的完整路径 (=products.xlsm!Module1.ReturnRefContents("Blah")) 和简写版本 (=ReturnRefContents("Blah")) 时会出现问题

有人对为什么会发生这种情况以及如何解决它有任何想法吗?

【问题讨论】:

您是否使用 CTRL + `(重音)切换到 formula view。? 也许函数声明应该定义返回类型?即Public Function ReturnRefContents(SourceString As String) As String 【参考方案1】:

这是信任中心设置 - 我在没有通知的情况下禁用了所有宏。

修复: 文件 > 选项 > 信任中心 > 信任中心设置 确保宏设置设置为“禁用所有带有通知的宏”。然后,当您打开文档时,您将获得启用内容的选项。

您也可以转到文件 > 信息 > 安全警告并单击“启用所有内容”以使电子表格成为受信任的文档

【讨论】:

以上是关于调用 UDF 时出现“此函数不带参数”错误的主要内容,如果未能解决你的问题,请参考以下文章

注册 UDF 时出现 Spark 错误:不支持 AnyRef 类型的架构

通过 jdbc 客户端使用 hive udf 时出现奇怪的错误

在 Jython 的 Pig UDF 中导入外部库时出现错误 1121

我可以将 spark 数据帧作为参数发送给 pandas UDF

将 pyspark pandas_udf 与 AWS EMR 一起使用时出现“没有名为‘pandas’的模块”错误

调用将对象向量作为参数的函数时出现链接错误