【VBA】マクロの処理時間を計測するマクロ
◇前置き
マクロで業務改善を行った際、
「具体的に何秒間かかっているか数値化したい!」
と思ったことはありませんか?
今日はそんな時に使える、処理時間計測マクロを紹介します。
◇概要
今回は、処理時間の計測だけお見せしたいので、余計な処理は含めずにWait関数で代用していきます。
※詳しくはソースコードの方で説明します。
◇ソースコード
今回のコードはこんな感じです。
Sub TimeMeasument() '各種変数を定義 Dim StartTime As Date Dim EndTime As Date Dim Process As Date Dim i As Double '処理開始時刻を変数に格納 StartTime = Now '計測したい処理 '---------------------------------------------------- '※今回は例としてWaitを使います。(10秒間止める) Application.Wait (StartTime + TimeValue("0:00:10")) '---------------------------------------------------- '処理終了時刻を変数に格納 EndTime = Now '処理にかかった時間を計算 Process = EndTime - StartTime '処理結果をメッセージボックスに表示 MsgBox "処理が完了しました!" & vbCrLf & vbCrLf & "処理時間:" & _ Process & vbCrLf, vbOKOnly + vbInformation, "計測結果" End Sub
実際に使う時は、この部分を計測したいマクロに置き換えてください。
Application.Wait (StartTime + TimeValue("0:00:10"))
※この例では、10秒間Excelの動作を停止させています。
◇使い方
実際にマクロを実行してみると・・・・
処理時間が表示されましたね!
◇最後に
今回紹介したコードは、単体で使うものではありません。
他のコード(マクロ)に組み込むことで、効果の見える化をするためのコードです。
「○○分 かかっていた作業が△△秒になりました!」
みたいな感じで、具体的に数値で成果を言えるとかっこいいですよね!
仕事でマクロを作ることのある方は、ぜひ使ってみてください。