2016-10-09 42 views
3

カスタムデータ検証式の中で独自の関数を使用しようとしています。 しかし、何らかの理由で動作しません。

My機能:Excelカスタムデータ検証で独自の関数を使用する

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

私は式フィールド内でこの機能を入れた場合、それは次の警告を示しています。私は間違って何をやっている

enter image description here

を?通常のワークシート関数で

+0

をあなたはNAME' 'に式を試してみました? –

+0

いいえ、私は@ Gary'sStudentを試していません – Edgar

+0

以下を参照してください.......................... –

答えて

4

DVを適用するのは簡単です:

enter image description here

それは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 

入力のカップルのためTrueを返しUDFを()。 udf()を原則として、DVをセルD1に適用したいと思います。

セル「E1」を「ヘルパー」として使用しています。セルE1では、私は私のUDF()を置く:

=IsPrime(D1) 

enter image description here

次は私が私の "ヘルパー" 細胞をName

enter image description here


最後に、私は返しますセルD1およびDV適用されます。

enter image description here

+0

面白いアプローチ! – Edgar

+0

@EdgarsŠturms私はWin 7マシンでExcel 2007を使用しています............これはあなたのために機能しますか? –

+0

はい、これは動作します、ありがとう!私はMS Excel 2010を使用しています。 – Edgar

関連する問題