Excel のデータ テーブルは、入力の 1 つが変化した場合に数値がどのように変化するかを確認するのに非常に便利です。でも:
- 彼らは(とても)遅い
- 編集する変数は動的ではありません。つまり、行または列の入力セルを変更しても
=INDIRECT(<dynamic address>)
機能しますが、動的アドレスが変更されても更新されません。 - 彼らはあなたに迷惑な構造を使わせます
- 変数はテーブルと同じシートにある必要があります
私はそれらの多くを実行したいので、ポイント 1 と 2 により、データ テーブルの操作が非常に非現実的になります。VBAでこれを行う関数を作成する方法はありますか? 変数の値を変更する UDF を試しました (たとえば=whatif(<hypothetical output>, <variable cell>, <variable hypothetical value>)
、VBA では許可されていません (「コード内で VBA 関数が再実行されないようにする方法」を参照)。