1

キー(複数のセル値)に基づいて2つのワークシートを常に比較し、2番目のワークシートから複数のセル値を返す必要があります。これを実現するには、複数の vlookup 関数を使用して値を返す前に、セルを両方のファイルで 1 つのセルに連結する必要があります。

次に、(1 番目のワークシートから) 検索キーを定義し、(2 番目のワークシートから) キーから検索し、レコードが一致した場合に同時に異なるセルに値を割り当てることができる UDF を作成しようとします。残念ながら、戻り UDF 内のセルに値を設定できないという Excel UDF 規則に違反していることがわかりました。

Excel にこのような制限がある理由がわかりません。サブプロシージャ内で実行できることがわかっています。しかし、パスパラメータを関数に簡単に返し、同時に関数からインジケータを返すことができるように、UDFを使用したいと本当に思っています。

良い解決方法がありましたらお願いします。

4

1 に答える 1

0

UDFが占有するセルにのみ値を返すことができる理由は、Excelの再計算ロジックが機能する方法のためです。異なるセルに値を返すと、依存関係ツリーと計算チェーンが台無しになります。

UDFをマルチセル配列数式にすると、UDFから複数の値を返すことができます。ただし、セルは隣接している必要があります。http://fastexcel.wordpress.com/2011/06/20/writing-efiicient-vba-udfs-part5-udf-array-formulas-go-faster/
を参照してください

于 2012-12-07T17:39:09.910 に答える