教えて!ExcelVBA!

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

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

構文

構文は以下の通りです。

DateAdd(単位, 時間, 日時)

解説

DateAdd関数は、指定された日付に対して指定された時間、日、月、または年を加算/減算するために使用します。
●単位:加算または減算する時間単位を指定します。次の値が使用できます。

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

●時間:加算する時間を数値で指定します。正の値は加算し、負の値は減算します。
●日時:加算または減算を行う基準となる日付を指定します。

使い方

DateAdd関数を使って、指定された日付に対して時間や日数を加算する方法を幾つか説明します。

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)を取得しています。

プログラミング例

以下は、DateAdd関数を使用したプログラミングの例です。

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関数は、日付に対して加算や減算を行うための便利な関数です。以下のポイントをまとめます。加算や減算する時間単位としては、年、四半期、月、日通し年、日、曜日、週、時間、分、秒が使用できます。また、指定した日付に対して時間や日数を加算したり減算したりすることができます。