教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA 関数】Timer関数を使用した経過秒数の計測方法を教えて!

f:id:m_kbou:20200420123431p:plain

Timer関数を使用した経過秒数の計測方法について紹介します。具体的な使用方法としては、処理に掛かった時間等を算出する場合に使用される事が多いです。また、Timer関数で表示される秒数は小数点以下を含むため、整数値のみ必要な場合はInt関数で整数化してから使用して下さい。

 

 

構文

Timer関数の記述方法

Timer

[説明]:

午前0時から経過した秒数を返します。(当日の23時59分59秒まで累積されます。)

 

使い方

使い方について具体的に説明します。

[プログラミング例]:

Sub サンプル()

  Dim 開始時間 As Single

  MsgBox "計測を開始します。", 64, "経過時間計測"

  開始時間 = Timer

  MsgBox "OKボタンをクリックすると、経過秒数が表示されます。", 64, "経過時間計測"

  MsgBox "経過秒数:" & Timer - 開始時間, 64, "経過時間計測"

End Sub

内容は、「最初に変数:開始時間を指定します。1つ目のMsgBoxで”計測を開始します。”のメッセージを表示し、<OK>ボタンがクリックされた時点で変数:開始時間にTimer関数の値をセットします。2つ目のMsgBoxでは”OKボタンをクリックすると、経過時間が表示されます。”のメッセージを表示し、<OK>ボタンがクリックされた時点で3つ目のMsgboxを表示します。この3つ目のMsgBoxでは2つ目のMsgBoxの<OK>ボタンがクリッされた時点のTimer関数の値から変数:開始時間から引いた算出結果を表示します。」との意味になります。

f:id:m_kbou:20210423101733p:plain

※上記の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。 

[実行例]:

①<実行>ボタンをクリックします。

f:id:m_kbou:20210423101804p:plain

②1つ目のMsgBoxで「計測を開始します。」が表示されます。

f:id:m_kbou:20210423101822p:plain

③2つ目のMsgBoxで「OKボタンをクリックすると、経過秒数が表示されます。」が表示されます。

f:id:m_kbou:20210423101836p:plain

④3つ目のMsgBoxで、上記②のMsgBox<OK>ボタンをクリックしてから上記③のMsgBox<OK>ボタンをクリックするまでの経過時間が表示されます。今回は「経過秒数:6.365234」が表示されました。

f:id:m_kbou:20210423101848p:plain

[サンプル]:

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com

Timer関数を使用した経過秒数の計測方法についての説明は以上です。

 

プログラミング(サンプル)

プログラミング事例を紹介します。

www.osiete-excelvba.work

 

おわりに

今回はTimer関数を使用した経過秒数の計測方法について説明しました。上記でも書きましたが、Timer関数は当日の23時59分59秒までの累積となるため、日を跨ぐ場合(午前0時を超える場合)は、午前0時前と後で別々に計算する必要があります。注意して下さい。