【Excel VBA】現在時刻を取得する基本コードとやさしい解説

VBA & Excel
スポンサーリンク
スポンサーリンク

はじめに

Excelで作業をしていると、
「処理した時刻を記録したい」
「ログに現在時刻を残したい」
そんな場面がよくあります。

VBAでは、現在時刻を簡単に取得でき、
作業履歴や処理ログを静かに支えてくれます。

ここでは、現在時刻を取得する基本のコードと、
実務で役立つポイントを解説します。

まずはコードを確認

Dim t As Date
t = Time

もっともシンプルな書き方です。
Time は「現在時刻」を返します。

現在時刻を取得する方法

現在時刻だけを取得する(Time)

t = Time
  • 時刻のみ
  • 日付は含まない
  • 実務でよく使う

現在の日時を取得する(Now)

t = Now
  • 日付+時刻
  • ログや処理履歴に便利

現在時刻をセルに入力する

Range("A1").Value = Time

A1セルに現在時刻が入ります。

時刻の書式を整えて入力する

Range("A1").Value = Time
Range("A1").NumberFormat = "hh:mm:ss"

見やすい形式に整えたいときに使います。

具体的な例で理解する

ログに現在時刻を記録する

Dim lastRow As Long
lastRow = Cells(Rows.Count, 1).End(xlUp).Row + 1

Cells(lastRow, 1).Value = Time
Cells(lastRow, 2).Value = "処理開始"

処理の開始時刻を記録する実務でよく使うパターンです。

日付と時刻をまとめて記録する

Range("A1").Value = Format(Now, "yyyy/mm/dd hh:mm:ss")

ログや履歴に使いやすい形式です。

条件に応じて時刻を入れる

If Range("B2").Value = "" Then
Range("B2").Value = Time
End If

空欄のときだけ時刻を入れるなど、柔軟な使い方ができます。

Time と Now の違い(実務で特に大切)

関数返す値よく使う場面
Time現在時刻処理開始時刻、終了時刻、ログ
Now日付+時刻履歴管理、タイムスタンプ

実務では Time は軽く、Now は情報量が多い と覚えておくと安心です。

注意点(実務で気をつけたいこと)

  • 時刻は「値」と「表示形式」が別物
    → NumberFormat を設定しないと、意図しない表示になることがあります。
  • システム時刻に依存する
    → PCの時刻設定がずれていると、取得結果もずれます。
  • 文字列として扱う場合は Format を使う
    → “14:03:22” のように整えたいときに便利です。

応用:現在時刻を文字列として取得する

Dim s As String
s = Format(Time, "hh:mm:ss")

ログやファイル名に使いやすい形式です。

まとめ

  • Time で現在時刻、Now で現在の日時を取得できる
  • セルに入力するだけなら Range(“A1”).Value = Time でOK
  • 表示形式は NumberFormat で整える
  • ログや履歴には Now が便利
  • 時刻は「値」と「見た目」が別物であることに注意

現在時刻を扱えるようになると、
処理ログや履歴管理がぐっとスムーズになります。


decopon
decopon

現在時刻を自動で扱えると、
「記録する」という作業が静かに、でも確実に楽になります。
VBAは、そんな日々の積み重ねをそっと支えてくれます。

moco
moco

いまの時刻って、なんだか“今を切り取る”感じがするね。
VBAなら、その瞬間を正確に残せるよ。

コメント

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