Excel自定义数据validation使用自己的function

我试图在自定义数据validation公式中使用自己制作的函数。 但由于某种原因,它不起作用。

我的function:

Public Function IsNumberXValid(x) As Boolean IsNumberXValid = IsNumeric(x) And Math.Cos(x) <> 1 End Function 

当我把这个函数放在公式字段里时,会显示如下警告:

在这里输入图像描述

我究竟做错了什么?

使用正常的工作表function,很容易应用DV

在这里输入图像说明

UDF()稍微复杂一点这个方法使用了一个“辅助”单元。

我从一个小UDF()开始

 Public Function IsPrime(L As Long) As Boolean arr = Array(5, 7, 11) IsPrime = False For Each a In arr If L = a Then IsPrime = True Exit Function End If Next a End Function 

对于几个input, UDF()返回True 。 我想使用udf()作为规则将DV应用于单元格D1

我使用单元格E1作为我的“帮手”。 在单元格E1中,我把我的UDF()

 =IsPrime(D1) 

在这里输入图像描述

接下来我Name我的“帮手”单元格:

在这里输入图像说明

最后,我回到单元格D1并应用DV

在这里输入图像说明