ワークシート関数の組み合わせをUDFとして保存しようとしていました。私はリストを比較するためにこの組み合わせを使用します:Excel UDFはTrueを返しますが、Falseを返しません。
=IF(ISNA(MATCH([value], [range], [match_type])),False,True)
しかし、単純な2行のマクロを正しくしようとして、少し問題に遭遇しました。ワークシートのコンボを模倣するために書いたVBAコードは本当にうまく戻ってきますが、falseではないようです。指定された範囲内にない値の代わりに、#value!エラー。これはデータ型の不一致に対する操作であるが、私はなぜそれがわかりません。
上記のワークシートのコンボのIFを使用して、ISNA関数の出力を反転します。あなたの検索が肯定的な結果のためにfalseを返すならば、少し混乱します。
私に知らせていただきありがとうございましたらお手伝いいただきありがとうございます。ここに私のコードです。それは何もすることができ、入力を求めるあなたのそれらのために
Public Function CompareLists(variable As Variant, list As Range, match_type As String) As Boolean
If Application.WorksheetFunction.IsNA(Application.WorksheetFunction.Match(variable, list, match_type)) = False Then
CompareLists = True
Else
CompareLists = False
End If
End Function
* *。私は通常、何百というもののID番号を比較するためにこれを使用します。彼らはいつか文字と数字を含んでいます。
例では、1,2,3,4,5,6,7,8というリストの中の3を見つけようとしています.3は1つのシートにあり、リストは別のシートにあります。
例を挙げることはできますか? – JimmyPena
データ入力の例は?variable = ????、list example、match_type example? – Jon49
例として、サンプル入力、関数に使用するサンプルパラメータ、およびそれらの入力の期待出力と実際の出力を提供するテストケースまたはウォークスルーを意味します。 – JimmyPena