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

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

Public Function Distance(X, Y) as Double 

然后在一个单元格中,我尝试使用这个函数。 我input“@Dis”并得到下拉菜单,select函数,然后在单元格中input以@Distance(A1,A2)结尾的参数。

当我按Enter时,出现错误“该function无效”。

我在整个系统中启用了macros,试图将其保存为旧的格式,并将其作为macros启用的工作簿格式无济于事。

我使用这个函数有什么问题?

尝试使用:

 =Distance(A1, A2) 

代替

 @Distance(A1, A2) 

我从来没有见过@作为在Excel中调用函数的正确字符。

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

在Module1中:

 Public Function Distance(X as Double, Y as Double) as Double Distance = 10 End Function 

在一个单元格中:

 =Distance(A1, A2) 

哪一个产生结果:

10

如预期。

您还需要确保函数的VBA代码位于模块中 ,而不在工作表的代码区域中。

不要使用保留字作为你的函数的名字。 我尝试了一个名称Parse(),它将它踢回去,直到我将其重命名为ParseString()。