教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA 関数】DateAdd関数の使い方を教えて!

構文

構文は以下の通りです。

DateAdd(単位, 時間, 日時)

解説

DateAdd関数は、指定された日付に対して指定された時間、日、月、または年を加算/減算するために使用します。

引数 指定 内容
単位 必須 加算または減算する時間単位を指定します。設定値を以下で紹介します。
時間 必須 加算する時間を数値で指定します。正の値は加算し、負の値は減算します。
日時 必須 加算または減算を行う基準となる日付を指定します。

単位には以下の設定値を指定できます。

定数 内容
"yyyy"
"q" 四半期
"m"
"y" 日通し年
"d"
"w" 曜日
"ww"
"h" 時間
"n"
"s"

使用例

DateAdd("yyyy", 2, Date)
DateAdd("m", 3, Date)
DateAdd("d", 7, Date)
DateAdd("h", 2, Time)

使い方

具体的な使い方を紹介します。

1.年単位での加算

Dim newDate As Date
newDate = DateAdd("yyyy", 2, Date)

上記の例では、現在の日付(Date)から2年を加算して新しい日付(newDate)を取得しています。

2.月単位での加算

Dim newDate As Date
newDate = DateAdd("m", 3, Date)

この例では、現在の日付から3ヶ月を加算して新しい日付を取得しています。

3.日単位での加算

Dim newDate As Date
newDate = DateAdd("d", 7, Date)

上記の例では、現在の日付から7日を加算して新しい日付を取得しています。

4.時間単位での加算

Dim newTime As Date
newTime = DateAdd("h", 2, Time)

この例では、現在の時間(Time)から2時間を加算して新しい時間(newTime)を取得しています。

プログラミング例

以下に、プログラミング例を紹介します。

Sub AddDays()
    Dim startDate As Date
    Dim endDate As Date
    startDate = Date ' 現在の日付を取得
    endDate = DateAdd("d", 7, startDate) ' 現在の日付から7日後を計算
    MsgBox "7日後の日付は " & endDate & " です。"
End Sub

上記のプログラムでは、現在の日付を取得し、DateAdd関数を使用して7日後の日付を計算しています。最後にメッセージボックスで計算された日付を表示しています。

まとめ

DateAdd関数は、日付に対して加算や減算を行うための便利な関数です。加算や減算する時間単位としては、年、四半期、月、日通し年、日、曜日、週、時間、分、秒が使用できます。また、指定した日付に対して時間や日数を加算したり減算したりすることができます。是非活用してください。