この記事ではDate関数の使い方と注意点について解説します。
他のよく使うVBA関数一覧はこちら。
Date関数の使い方と注意点
Date関数は、システムの日付(今日の日付)を取得する関数です。
時間情報は含まれず、日付だけが返されます。
構文
Date
- 戻り値 : 現在のシステム日付(Date型)
使用例
日付の取得と表示
Sub Sample()
Debug.Print Date
End Sub
▶ 出力結果(実行日が 2025年1月1日 の場合)
2025/01/01
1日前の日付を取得
Sub Sample()
Debug.Print Date - 1
End Sub
▶ 出力結果(実行日が 2025年1月1日 の場合)
2024/12/31
応用例
他の関数と組み合わせることで色々な形式で出力したり、
判定条件に使用することができます。
出力形式指定
Format関数との組み合わせで自由な形式で出力することができます。
Sub FormatDateSample()
Debug.Print Format(Date, "yyyy-mm-dd")
Debug.Print Format(Date, "yyyy年mm月dd日 (ddd)")
End Sub
▶ 出力結果(実行日が 2025年1月1日 の場合)
2025-01-01
2025年01月01日 (Wed)
土日判定
Weekday関数と組み合わせることで曜日で条件分岐させることができます。
Sub Sample()
Select Case Weekday(Date)
Case vbSaturday, vbSunday
MsgBox "今日は週末です"
Case Else
MsgBox "今日は平日です"
End Select
End Sub
⚠️注意
時刻は含まれない
Date関数が返すのは日付のみです。
時刻も含めたい場合はNow関数を使います。
Sub Sample()
Debug.Print Now
End Sub
▶ 出力結果
2025/01/01 12:11:10
セルに書き込むと自動的に日付形式に
Sub Sample()
Range("A1").Value = Date
End Sub
▶ 出力結果
セルA1には "2025/1/1" のように書き込まれます。
表示形式が画像とは違う場合もあります
表示形式はエクセルの書式設定やPCの書式設定により異なる場合があります。
システム日付依存
Date関数の値は、PCのシステム日付を参照しています。
PCの日付設定が間違っていると、取得値も正しくありません。
(例:日付を故意に未来に変更していると、Date関数も未来を返す)
関連するVBA関数
その他のVBA関数
【Excel VBA】VBAでよく使う関数一覧&基本の使い方