DateDiff関数 解説(Excel VBA)

Excel VBA: DateDiff関数の解説と使用例

DateDiff関数は、2つの日付間の差を特定の単位(日、月、年など)で計算するためのExcel VBAの関数です。

構文

DateDiff関数の構文は以下の通りです:

DateDiff(interval, date1, date2, [firstdayofweek], [firstweekofyear])
  • interval: 差を計算する単位を指定します。「yyyy」(年)、「q」(四半期)、「m」(月)、「y」(年内の日付)、「d」(日)、「w」(週)、「ww」(週数)、「h」(時間)、「n」(分)、「s」(秒)のいずれかの値を取ることができます。
  • date1date2: 差を計算する2つの日付を指定します。これらは日付リテラル、日付を含むセルへの参照、または日付を返す関数など、日付を表す任意の式を使用できます。
  • firstdayofweek(オプション): 週の最初の日を指定します。これは VbDayOfWeek 列挙型のメンバーで、デフォルトは vbSunday です。
  • firstweekofyear(オプション): 1週目をどの週とするかを指定します。これは VbFirstWeekOfYear 列挙型のメンバーで、デフォルトは vbFirstJan1 です。

使用例

次のVBAのサブプロシージャは、指定した2つの日付間の差を計算し、それをメッセージボックスに表示します。

    Sub ShowDateDifference()
        Dim interval As String
        Dim date1 As Date
        Dim date2 As Date
        Dim difference As Long

        interval = "d" ' 日単位での操作を指定
        date1 = #1/1/2023# ' 初めの日付を指定
        date2 = Date ' 現在の日付を指定

        ' DateDiff関数を使用して2つの日付の差を計算
        difference = DateDiff(interval, date1, date2)

        ' 計算した日付の差を表示
        MsgBox "指定した日付(" & date1 & ")から今日までの日数は" & difference & "日です。", vbInformation
    End Sub

このサブプロシージャを実行すると、指定した日付(ここでは2023年1月1日)から現在までの日数がメッセージボックスに表示されます。