【Excel VBA】今日の日付を取得する基本コードとやさしい解説

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

はじめに

Excelで作業をしていると、
「今日の日付を自動で入力したい」
「処理した日付を記録しておきたい」
そんな場面がよくあります。

VBAでは、今日の日付を簡単に取得でき、
ログ作成や更新履歴の管理など、実務で静かに役立ちます。

ここでは、今日の日付を取得する基本のコードと、
実務で使うときのポイントを解説します。

まずはコードを確認

Dim d As Date
d = Date

もっともシンプルな書き方です。
Date は「今日の日付」を返します。

今日の日付を取得する方法

今日の日付を取得する(Date)

d = Date
  • 日付のみ
  • 時刻は含まない
  • 実務で最も使われる

今日の日時を取得する(Now)

d = Now
  • 日付+時刻
  • ログや処理時間の記録に便利

今日の日付をセルに入力する

Range("A1").Value = Date

A1セルに今日の日付が入ります。

日付の書式を整えて入力する

Range("A1").Value = Date
Range("A1").NumberFormat = "yyyy/mm/dd"

表示形式を指定すると、見た目が整います。

具体的な例で理解する

更新日を記録する

Range("B1").Value = "更新日:" & Format(Date, "yyyy/mm/dd")

見出しと日付をまとめて記録できます。

ログに日時を追加する

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

Cells(lastRow, 1).Value = Now
Cells(lastRow, 2).Value = "処理完了"

処理履歴を残す実務でよく使うパターンです。

条件に応じて今日の日付を入れる

If Range("A2").Value = "" Then
Range("A2").Value = Date
End If

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

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

関数返す値よく使う場面
Date今日の日付更新日、入力日、日付管理
Now今日の日時ログ、処理時間、履歴管理

実務では Date が基本、Now は必要なときだけ が安心です。

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

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

応用:今日の日付を文字列として取得する

Dim s As String
s = Format(Date, "yyyy-mm-dd")

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

まとめ

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

今日の日付を扱えるようになると、
更新履歴やログ管理がぐっとスムーズになります。


decopon
decopon

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

moco
moco

今日の日付って、ちょっと特別だよね。
VBAなら、いつでも正確に教えてくれるよ。

コメント

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