【ExcelVBA・マクロ】Time関数の使い方|現在の時刻を取得する方法【コピペOK】

Time関数の使い方 ExcelVBA

VBAで時間を扱っていると、次のようなことはありませんか?

  • 現在時刻を取得したい
  • 処理時間を記録したい
  • 時刻によって処理を分けたい

このような場合は、Time関数を使うことで解決できます。
現在の「時刻のみ」を取得できる、VBAでよく使われる関数です。

この記事では、Time関数の基本から実務での活用方法まで分かりやすく解説します。


スポンサーリンク
スポンサーリンク

この記事でできること

  • 現在時刻を取得できる
  • 時間による条件分岐ができる
  • 実務で使える時間処理が分かる

Time関数とは?

Time関数は、現在の「時刻」を取得する関数です。

取得される内容:


10:30:45

※日付は含まれません。


基本:Time関数の使い方

基本構文はこちらです。

Time

基本例

MsgBox Time

→ 現在時刻が表示されます。


セルへ現在時刻を書き込む

Range("A1").Value = Time

実行時の時刻を記録できます。


時刻を整形して表示する

Format関数と組み合わせると便利です。

MsgBox Format(Time, "hh:nn:ss")

表示例:


14:25:30

Hour・Minute・Secondと組み合わせる

時・分・秒を取得できます。

Dim h As Integer
Dim m As Integer
Dim s As Integer

h = Hour(Time)
m = Minute(Time)
s = Second(Time)

MsgBox h & ":" & m & ":" & s

時間による条件分岐

業務時間チェックなどで使えます。

If Hour(Time) >= 9 And Hour(Time) < 18 Then
    MsgBox "営業時間内です"
Else
    MsgBox "営業時間外です"
End If

Now・Dateとの違い

関数内容
Now日付+時刻
Date日付のみ
Time時刻のみ

ログ記録で使う

Range("A1").Value = "処理開始:" & Time

処理時間を確認する

Dim startTime As Date

startTime = Time

MsgBox "開始時刻:" & startTime

実務での活用例

  • ログ記録
  • 処理時間管理
  • 営業時間判定
  • リアルタイム処理

時間管理系でよく使われます。


注意点

① 日付は含まれない

日付も必要な場合は Now を使います。


② 呼び出すたびに変わる

リアルタイム時刻を取得します。


③ 秒まで取得される

比較時は注意が必要です。


安全な書き方(おすすめ)

Dim currentTime As Date

currentTime = Time

MsgBox Format(currentTime, "hh:nn:ss")

よくあるエラーと対処法

① 表示形式がおかしい

セルの表示形式を確認してください。

② 時間比較がうまくいかない

秒まで含まれていないか確認してください。

③ Nowとの違いが分からない

Timeは時刻のみです。

④ コードは正しいのにエラーになる

コピー時に全角文字や特殊文字が混ざることがあります。
その場合は該当行を手入力し直すと解決することがあります。


まとめ

  • Timeは現在時刻を取得する関数
  • 日付は含まれない
  • 時間管理やログ処理で活躍
  • Now・Dateとの使い分けが重要

Time関数を使いこなせるようになると、時間を活用した実務的なVBAが作れるようになります。
業務自動化では非常に便利なので、ぜひマスターしておきましょう。

スポンサーリンク
スポンサーリンク
ExcelVBA
いがぴをフォローする

コメント

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