Time関数を使用したプログラミング例を紹介します。
例題
<STAT/STOP>ボタンをクリック(1回目)するとその時点の時刻が開始時刻(A2セル)にセットされます。また、もう一度クリック(2回目)するとその時点の時刻が終了時刻(B2セル)にセットされ、開始時刻~終了時刻までの経過秒数を算出して結果(C2セル)にセットします。
[実行前]:
開始時刻と終了時刻を取得する<STAT/STOP>ボタンを用意します。
[実行後]:
①<STAT/STOP>ボタンをクリック(1回目)すると、開始時刻(A2セル)にクリックされた時点の時刻がセットされます。(※この時に状況(G2セル)に”開始”の文字をセットします。このセットによりクリックが1回実行された事が分かります。)
②もう一度<STAT/STOP>ボタンをクリック(2回目)すると、クリックされた時点の時刻が終了時刻(B2セル)にセットされ、同時に開始時刻~終了時刻までの経過秒数を算出して結果(C2セル)にセットします。(※この時に状況(G2セル)をクリアします。)
プログラミング
プログラミングは以下の通りとなります。
[記述例]:
Sub サンプル()
'↓ボタン2回目クリック時
If (Range("G2") = "開始") Then
Range("B2") = Time
Range("C2") = DateDiff("s", Range("A2"), Range("B2"))
Range("G2") = ""
'↓ボタン1回目クリック時
Else
Range("A2") = Time
Range("B2:C2") = ""
Range("G2") = "開始"
End If
End Sub
IF文を使用して以下いずれかを実行します。
ボタン2回目クリック時:状況欄(G2セル)に”開始”がセットされている場合
終了時刻(B2セル)にTime関数を使用して現在時刻をセットし、更にDateDiff関数を使用して開始時刻(A2セル)~終了時刻(B2セル)の経過秒数を算出し、結果(C2セル)にセットします。また、状況欄(G2セル)をクリアします。
ボタン1回目クリック時:状況欄(G2セル)が”開始以外”がセットされている場合
開始時刻(A2セル)にTimer関数を使用して現在時刻をセットし、更に終了時刻(B2セル)と結果(C2セル)をクリアします。また、状況(G2セル)に”開始”の文字をセットします。
との内容になります。
ダウンロード
上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。