Excelシートの処理時間を測定するVBAコード

Excel関数の計算に何秒かかったか測定するプログラムです。

Excel関数の再計算が発生する理屈や、VBAで再計算を制御する方法に関しては次の記事を見てください。

関連 Excel VBAで再計算を制御する方法
関連 Excelの再計算を抑制する方法

概要

Excelのワークシートを左から順番に再計算していって、イミディエイトウインドウに各シートの計算時間を表示します。

使い方

ソースコードを適当な標準モジュールに貼り付けて、「BenchmarkNTimes」を実行してください。処理を繰り返す回数を問うダイアログが出てくるので、好きな数を入力します。

シートごとに再計算させているので、データテーブル(商品マスタなど)に関数を入れても影響ありません(たぶん)。最初に再計算させるために左側に移動させておいてください。

Excelに貼り付けて、貼り付けのオプションから「テキストファイルウィザードを使用」を選ぶとExcelにデータを落とし込めます(「データ」タブ>「区切り位置」でもOK)。

ソースコード

Gistで公開しているので、自由にForkしていただいて構いません。改善点があれば、コメント欄かメールフォームから連絡していただければ対応します。

コメント

  1. 匿名 より:

    ScreenUpdateをFalseにしておかないと、アクティブシートを再計算するときだけ画面再描画が発生して処理時間が遅くなるのではないでしょうか。

    • 蒼井 ゆうき より:

      ご指摘ありがとうございます。
      再描画を停止するように変更しました。

タイトルとURLをコピーしました