VBAで処理中の不安を解消。処理時間を秒単位で可視化するTimer関数の使い方

【業務効率化】VBA
スポンサーリンク

なぜ業務において「時間の計測」が重要なのでしょうか?

日々の業務の中で、ご自身の成果をどのように数値化されていますか?

 「マクロを導入して便利になりました」と報告するよりも、「手作業で30分かかっていた作業が、マクロなら3.5秒で完了します」と具体的な数字を提示する方が、その価値は圧倒的に伝わりやすくなりますよね。

この客観的な指標を手軽に実現する方法が、VBAの標準機能であるTimer関数の活用です。

【業務効率化】VBAの記事を見る 

Timer関数の仕組み:デジタルなストップウォッチ

Timer関数の概念は非常にシンプルで、身近なストップウォッチと同じだと考えてください。 

この関数は、「今日の午前0時ちょうどから、現時点までに何秒経過したか」を取得する役割を持っています。 処理時間を算出するロジックは、以下の3ステップだけです。 

  1. 開始時刻の記録:処理を始める直前の秒数をメモします。
  2. 処理の実行:計測したいマクロの処理を走らせます。
  3. 終了時刻の記録:処理が終わった直後の秒数をメモします。

計算式は以下の通りです。

経過時間 = 終了時刻 – 開始時刻

【コピペOK】処理時間を計測するためのサンプルコード 

以下のコードを標準モジュールにコピーして、実際の動作を確認してみてください。

Sub MeasureTime()
    ' 変数の宣言(小数点以下も扱うためDouble型を使用します)
    Dim startTime As Double
    Dim endTime As Double
    Dim processTime As Double
    Dim i As Long
    
    ' 1. 計測開始時刻を記録
    startTime = Timer
    
    ' === ここから計測対象の処理 ===
    ' 例:1000万回のループを実行(意図的に負荷をかけています)
    For i = 1 To 10000000
        ' 処理内容
    Next i
    ' === ここまで計測対象の処理 ===
    
    ' 2. 計測終了時刻を記録
    endTime = Timer
    
    ' 3. 経過時間を計算
    processTime = endTime - startTime
    
    ' 4. 結果を小数点第2位まで整えて表示
    MsgBox "処理が完了しました。" & vbCrLf & _
           "実行時間: " & Format(processTime, "0.00") & " 秒", vbInformation, "計測結果"
End Sub

ちなみに私のPCでは0.03秒でした。
1億回にしてみたところ、0.26秒でした。PCの計算力って改めてすごいですね。

実装のポイントと解説

  • startTime = Timer:コードが実行された瞬間の正確な時刻を取得し、変数に保存します。 
  • Format(processTime, “0.00”):コンピュータが算出する細かな数値を、小数点第2位までに丸めることで、報告資料などにもそのまま使える見やすい形式に整えています。 

明日から使える活用術

もしあなたが業務改善ツールを作ったら、ぜひこのTimer関数を仕込んでみてください。

処理が終わった際に「実行時間:0.52秒」といったメッセージが表示されるだけで、そのツールがどれほど効率的なのかが誰の目にも明らかになります。 

また実務だと、パフォーマンスを客観的に把握できるため、業務のスケジューリングも立てやすくなるはずです。 

プログラムによる劇的な速度向上を数値で実感することは、開発の大きな喜びであり、自身の専門性を証明する強力な武器にもなります。 ぜひ試してみてください!

【業務効率化】VBAの記事を見る 


VBAを独学で学び、業務自動化に5年以上携わってきた私が、「本当に実務で役立った!」と感じた2冊を紹介します。 もう本選びで失敗したくない方は、よければ参考にしてみてください。

この記事を書いた人
ぐー

手取り15万円の会社員でも、年間100万円以上の節約・資産管理・スキルアップで新NISAで年間360万円投資し、iDeCoもフル活用しています。日商簿記3級持っています。

このブログでは、私が実践してきた節約術やリアルな資産運用、稼ぐ力を高めるITスキルについて発信しています。

生活を豊かにしたくて、高配当株投資で年間配当金60万円をめざしています。現在は年間配当金25万円以上達成!

ゲーム・漫画・アニメなどが好きです。
一緒に資産形成をがんばりましょう!
よろしくお願いします!

ぐーをフォローする
【業務効率化】VBAITスキル
スポンサーリンク
ぐーをフォローする

コメント

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