Excel関数の計算に何秒かかったか測定するプログラムです。
Excel関数の再計算が発生する理屈や、VBAで再計算を制御する方法に関しては次の記事を見てください。
関連 Excel VBAで再計算を制御する方法
関連 Excelの再計算を抑制する方法
目次
概要
Excelのワークシートを左から順番に再計算していって、イミディエイトウインドウに各シートの計算時間を表示します。
商品 列選択 構造化参照 0.0313 36.9766 36.8359 0.0313 38.0156 37.7188 0.0234 37.8594 39.5547
使い方
ソースコードを適当な標準モジュールに貼り付けて、「BenchmarkNTimes」を実行してください。処理を繰り返す回数を問うダイアログが出てくるので、好きな数を入力します。
シートごとに再計算させているので、データテーブル(商品マスタなど)に関数を入れても影響ありません(たぶん)。最初に再計算させるために左側に移動させておいてください。
Excelに貼り付けて、貼り付けのオプションから「テキストファイルウィザードを使用」を選ぶとExcelにデータを落とし込めます(「データ」タブ>「区切り位置」でもOK)。
ソースコード
Gistで公開しているので、自由にForkしていただいて構いません。改善点があれば、コメント欄かメールフォームから連絡していただければ対応します。
コメント
コメント一覧 (2件)
ScreenUpdateをFalseにしておかないと、アクティブシートを再計算するときだけ画面再描画が発生して処理時間が遅くなるのではないでしょうか。
ご指摘ありがとうございます。
再描画を停止するように変更しました。