0

VBA を使用して MS-Excel に UDF を追加すると、挿入時に関数が 2 回評価されます。

1) すべての引数が FUNCTION ARGUMENTS ダイアログで関数に与えられるとすぐに: したがって、結果は FUNCTION ARGUMENTS ダイアログ自体に Formula Result として表示されます。

2) [FUNCTION ARGUMENTS] ダイアログで [OK] をクリックした後: 結果がそれぞれのセルに表示されます。

また、 VBA Evaluate がターゲット関数を 2 回呼び出すのを停止することも参照しましたが、関数が評価されなくなりました。

この UDF 関数の二重評価を止める方法を教えてください。

ありがとう

4

1 に答える 1

2

二重評価の問題が速度の問題である場合 (UDF の計算に時間がかかる場合)、次のことをお勧めします。

  1. doCalculateUDF に呼び出される追加のパラメーターを追加する
  2. ワークシートのセル A1 に FALSE を入力します
  3. UDFdoCalculateパラメータをセル A1 に向ける
  4. doCalculateが falseの場合に関数を終了するコード行を追加します

この方法では、UDF は関数ダイアログから計算されません。ただし、A1 を TRUE に変更することで UDF を有効にすることができます

于 2013-05-02T14:12:59.267 に答える