Excel VBA Time関数で現在の時刻を取得する

VBA関数

VBA関数のTime関数を使用して、現在の時刻を取得する方法をご説明します。

マクロをタスクスケジューラ等を使用して自動実行する場合等に、○○時以降ならA処理、○○時以前ならB処理を実行などの分岐などに利用すると非常に便利です。

時刻を取得するだけではなく、時間の比較を行う場合によく利用します。

タスクスケジューラの使い方は「タスクスケジューラでマクロを自動実行する」をご覧ください。

また、現在の「日付」を取得する場合は「Date関数」を使用し、現在の「日時」を取得するには「Now関数」を使用します。

1.Time関数の使い方

Time関数は現在の時刻を取得します。

次のように記述します。

Time

引数はありません。

そのまま「Time」とするだけで使用できます。

時や分など加算、減算する場合は「DataAdd関数」を使用するとわかりやすいです。

また、24時間を超える加算や減算を行った場合でも有効な時刻を返します。

2.サンプルコード

まずはシンプルなコードです。

Sub Sample1()

Debug.Print Time

End Sub

DateAdd関数」で時刻を計算するコードです。

DateAdd関数は「”単位”,加減算の数値,起点の日時」で記述します。

単位は時は「h」、分は「n」、秒は「s」となります。

ちなみに日は「d」です。

今回は起点の日時はTimeで現在の時刻を指定しています。

Sub Sample2()

Debug.Print DateAdd("h", 1, Time)

Debug.Print DateAdd("n", -10, Time)

Debug.Print DateAdd("s", -10, Time)

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