INDEX
Dateの概要
現在の日付を取得する VBAの予約語 | ||
Date 概要 Date 関数は、VBAで現在の日付を取得するための組み込み関数です。システムの設定された日付を取得し、処理に利用できます。 わかりやすく説明 現在の日付を取得するための関数。 |
||
|
Dateの基本的な使い方
以下の例では、現在の日付を取得し、メッセージボックスに表示します。
Sub ShowCurrentDate()
MsgBox "今日の日付: " & Date
End Sub
解説:
Date
は現在の日付を取得する関数。- システムの日付設定に基づいた日付が表示される。
Excelシートに現在の日付を入力
現在の日付をExcelのセルに自動入力する方法です。
Sub InsertCurrentDate()
Range("A1").Value = Date
End Sub
解説:
- A1セルに現在の日付を入力する。
- 日付として扱われるため、セルの書式設定で表示形式を変更可能。
DateとNowの違い
Now
関数を使うと、日付と時間の両方を取得できます。
Sub CompareDateAndNow()
MsgBox "Date の結果: " & Date & vbCrLf & "Now の結果: " & Now
End Sub
解説:
Date
: 日付のみ取得(例:2025/02/01)。Now
: 日付と時間の両方を取得(例:2025/02/01 12:34:56)。
過去や未来の日付を取得する
DateAdd
関数を使うと、指定した日数の前後の日付を取得できます。
Sub ShowFutureAndPastDates()
MsgBox "昨日: " & DateAdd("d", -1, Date) & vbCrLf & _
"明日: " & DateAdd("d", 1, Date)
End Sub
解説:
DateAdd("d", -1, Date)
: 昨日の日付を取得。DateAdd("d", 1, Date)
: 明日の日付を取得。
Excel VBAでのDateの活用
日付を使ってファイル名を自動設定する例です。
Sub SaveWorkbookWithDate()
Dim filePath As String
filePath = "C:\Reports\Report_" & Format(Date, "yyyy-mm-dd") & ".xlsx"
ActiveWorkbook.SaveAs Filename:=filePath
MsgBox "ファイルを保存しました: " & filePath
End Sub
解説:
- ファイル名に現在の日付を付加して保存。
Format(Date, "yyyy-mm-dd")
で日付をフォーマット。
Dateの制限
- 時間は取得できない: 時間を取得する場合は
Now
を使用。 - システムの日付設定に依存: システム設定によって日付の形式が異なる可能性がある。
- 日付の計算はDateAdd関数を使用: 未来や過去の日付を取得するには
DateAdd
を使う必要がある。
よくある質問
- Q: Date関数の戻り値はどのデータ型ですか?
- A: Date関数の戻り値は
Date
型です。 - Q: 現在の時間も含めて取得したい場合は?
- A:
Now
関数を使用すると、日付と時間の両方を取得できます。 - Q: 日本の日付形式(yyyy/mm/dd)で表示するには?
- A:
Format(Date, "yyyy/mm/dd")
を使うと、希望の形式で表示できます。
まとめ
- Date関数は現在の日付を取得するために使用される。
- 時間は含まれず、日付のみが取得される。
- Excel VBAでは、日付をセルに入力したり、ファイル名に使用できる。
- 未来・過去の日付を取得する場合は
DateAdd
を使う。