Timer関数とは、午前0時から経過した秒数を取得できる関数です。
タイマーは、「処理開始後の時間 - 処理開始前の時間」の秒数を判定することで作成できます。
3分間タイマーの場合、「処理開始後の時間 - 処理開始前の時間>=180」で処理終了になります。
ここではカップヌードルのタイマーですが、例えば作業分析の作業時間計測や機械停止時間を計測し、次々にセルに自動入力できるようにすれば、大幅に省力化できます。
問題は午前0時を過ぎた場合で、その場合0秒に戻るので、もしマイナスになるとプラスするような処理が必要です。
Timer関数の構文:
Timer()
戻り値は単精度浮遊小数点型(Single)の数値です。
VBAのタイマーは「Excel:Windows APIを使用したタイマー - GetTickCountでミリ秒」も掲載しています参照してください。
シートにコマンドボタンを挿入し、キャプションを「Start」にしています。
「Start」ボタンをクリックすると、D5に経過時間を表示します。
■ プライベートの変数を宣言
処理開始前の時間を格納する、プライベート変数 sttimeを宣言しています。
■ ExTimerStartプロシージャ
■ コマンドボタンのクリックイベント
Option Explicit
'開始時間の保持用変数
Private sttime As Long
'タイマー開始
Private Sub ExTimerStart()
Dim ln As Long
Dim lm As Long
Do
'経過時間を算出
ln = Timer - sttime
lm = Int(ln / 60)
'○分○○秒で表示
Range("D5") = lm & "分" & Format(ln - lm * 60, "00") & "秒"
DoEvents
If ln >= 180 Then
Beep
MsgBox "3分経過しました。さあ、食べてください。"
Exit Do
End If
Loop
End Sub
'スタートボタン
Private Sub CommandButton1_Click()
Range("D5") = ""
'開始時間
sttime = Timer
'タイマー開始
ExTimerStart
End Sub
3分間、経過するとメッセージが表示されます。
待ち時間の設定や中止ボタン等を追加するとさらに便利です。
■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します