概要

Date関数は、Excel VBAで現在のシステム日付を取得するための関数です。この関数は、時刻情報を含まず、日付のみを返します。現在の日付を簡単に取得できるため、データの記録や期限の管理、日付に基づく処理などに利用されています。

構文

Date

パラメータ

Date関数にはパラメータはありません。関数を呼び出すだけで現在のシステム日付を取得できます。

戻り値

Date関数は、現在のシステム日付を含むDate型の値を返します。この値は日付のみで、時刻は含まれていません。

説明

Date関数は、現在のシステムから日付情報を取得し、スクリプトの中でその日付を活用することができます。例えば、データ入力の際に自動的に日付を追加したり、日付を使って条件分岐させたりすることが可能です。

  • 現在の日付の取得
    システムの日付をリアルタイムに取得するため、正確な日付が必要な場面で便利です。

  • 時刻の情報は含まれない
    Date関数は日付のみを返し、時刻情報は含まれていません。時刻が必要な場合は、Now関数の使用が推奨されます。

使用例

基本的な使用例 - 現在の日付を表示する

Sub ShowCurrentDate()
    Dim currentDate As Date

    currentDate = Date

    MsgBox "現在の日付: " & currentDate
    ' 例: 現在の日付: 2024/09/23
End Sub

セルに現在の日付を挿入する

Sub InsertCurrentDate()
    ' A1セルに現在の日付を挿入
    Range("A1").Value = Date
End Sub

今日の日付を基に期限を設定する

Sub SetDueDate()
    Dim dueDate As Date

    ' 今日の日付から7日後を期限として設定
    dueDate = Date + 7
    MsgBox "提出期限は: " & dueDate
    ' 例: 提出期限は: 2024/09/30
End Sub

応用例

日付を基に条件分岐する

Date関数を使用して、現在の日付を基に条件分岐を行うことができます。

Sub CheckDate()
    Dim today As Date

    today = Date
    If today < #2024/12/31# Then
        MsgBox "今年中です。"
    Else
        MsgBox "今年は終わりました。"
    End If
End Sub

日付の差を計算する

Date関数を用いて、2つの日付の間の日数差を計算できます。

Sub CalculateDaysBetweenDates()
    Dim startDate As Date
    Dim daysBetween As Long

    startDate = #2024/01/01#
    daysBetween = Date - startDate

    MsgBox "2024年1月1日からの経過日数: " & daysBetween & "日"
End Sub

過去または未来の日付のチェック

日付を条件として、過去または未来の日付であるかを確認する例です。

Sub CheckPastOrFutureDate()
    Dim someDate As Date

    someDate = #2025/01/01#

    If Date < someDate Then
        MsgBox "未来の日付です。"
    Else
        MsgBox "過去または現在の日付です。"
    End If
End Sub

備考

  • Date関数は、システムの日付設定に依存します。そのため、地域や時刻の設定によって日付の形式が変わることがあります。

  • 日付の計算にはDateAdd関数やDateDiff関数と組み合わせることで、より複雑な処理も簡単に実装できます。

  • Date関数はシンプルで高速に動作し、日付情報を取得する際の標準的な方法として多くの場面で利用されます。