当我尝试使用我在Excel电子表格中定义的VBA函数时,我得到"那不是一个有效的函数"

Mat*_*att 5 excel vba excel-vba

我在VBA中定义了一个函数,如下所示

Public Function Distance(X, Y) as Double
Run Code Online (Sandbox Code Playgroud)

然后在一个单元格中我尝试使用该函数.我输入"@Dis"并进入下拉菜单,选择该功能,然后在单元格中输入以@Distance(A1,A2)结尾的参数.

当我按Enter键时,我得到错误"该功能无效".

我在整个系统中启用了宏,尝试将其保存为旧格式和宏启用的工作簿格式无济于事.

我使用这个功能有什么问题?

e.J*_*mes 6

尝试使用:

=Distance(A1, A2)
Run Code Online (Sandbox Code Playgroud)

代替

@Distance(A1, A2)
Run Code Online (Sandbox Code Playgroud)

我从来没有@在Excel中看到调用函数的正确字符.

我在Excel中尝试了以下内容,它就像一个魅力:

在Module1中:

Public Function Distance(X as Double, Y as Double) as Double
    Distance = 10
End Function
Run Code Online (Sandbox Code Playgroud)

在一个单元格中:

=Distance(A1, A2)
Run Code Online (Sandbox Code Playgroud)

产生结果:

10

正如所料.


Mar*_*iek 6

您还需要确保函数的VBA代码位于Module中,而不是在Worksheet的代码区域中.