DateAdd関数は指定した日付に指定した日数を加算・減算した日付を返します。使い方について説明します。
【目次】
構文
DateAdd関数の記述方法は、以下の通りとなります。
=======================================================================
DateAdd(”[単位]”, [加算・減算数], ”[指定日]”)
=======================================================================
[説明]:
[単位]には期間の単位を表す文字を記述しますが、具体的には以下表のいずれかを記述します。[加算・減算数]には指定日に対し加算や減算する数字を記述します。[指定日]には基準となる日時を記述します。[単位]及び[指定日]は、「”」(ダブルクォーテーション)で囲みます。内容を纏めると、「[指定日]に[加算・減算数]で指定した数字を加算又は減算し、値を返して下さい。」との意味になります。
[記述例]:
DateAdd("yyyy", 1, "2019/6/12")
DateAdd("m", 1, "2019/6/12")
DateAdd("d", 1, "2019/6/12")
DateAdd("h", 1, "2019/6/12 10:35:40")
DateAdd("n", 1, "2019/6/12 10:35:40")
DateAdd("s", 1, "2019/6/12 10:35:40")
使い方
使い方について、具体的に説明していきます。
指定年数を加算・減算した日付を返す
指定日に対し指定した年数を加算・減算した日付を返す方法について説明します。
[記述例]:
※以下の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方については、VBEの開き方を参考にして下さい。
単位を表す文字に「yyyy」を記述します。
-------------------------------------------------
Sub サンプル()
MsgBox DateAdd("yyyy", 1, "2019/6/12")
End Sub
-------------------------------------------------
内容は、「指定日:2019/6/12に1年を足した日付を返し、MsgBoxで表示して下さい。」との意味になります。
[実行例]:
結果は、1年を足し算するため「2020/6/12」が表示されます。
指定した年数を加算・減算した日付を返す方法についての説明は以上です。
指定月数を加算・減算した日付を返す
指定日に対し指定した月数を加算・減算した日付を返す方法について説明します。
[記述例]:
※以下の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方については、VBEの開き方を参考にして下さい。
単位を表す文字に「m」を記述します。
-------------------------------------------------
Sub サンプル()
MsgBox DateAdd("m", 1, "2019/6/12")
End Sub
-------------------------------------------------
内容は、「指定日:2019/6/12に1ヵ月を足した日付を返し、MsgBoxで表示して下さい。」との意味になります。
[実行例]:
結果は、1ヵ月を足し算するため「2019/7/12」が表示されます。
指定した月数を加算・減算した日付を返す方法についての説明は以上です。
指定日数を加算・減算した日付を返す
指定日に対し指定した日数を加算・減算した日付を返す方法について説明します。
[記述例]:
※以下の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方については、VBEの開き方を参考にして下さい。
単位を表す文字に「d」を記述します。
-------------------------------------------------
Sub サンプル()
MsgBox DateAdd("d", 1, "2019/6/12")
End Sub
-------------------------------------------------
内容は、「指定日:2019/6/12に1日を足した日付を返し、MsgBoxで表示して下さい。」との意味になります。
[実行例]:
結果は、1日を足し算するため「2019/6/13」が表示されます。
指定した日数を加算・減算した日付を返す方法についての説明は以上です。
指定時間を加算・減算した日時を返す
指定日時に対し指定した時間を加算・減算した日時を返す方法について説明します。
[記述例]:
※以下の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方については、VBEの開き方を参考にして下さい。
単位を表す文字に「h」を記述します。
-------------------------------------------------
Sub サンプル()
MsgBox DateAdd("h", 1, "2019/6/12 10:35:40")
End Sub
-------------------------------------------------
内容は、「指定日:2019/6/12 10:35:40に1時間を足した日付を返し、MsgBoxで表示して下さい。」との意味になります。
[実行例]:
結果は、1時間を足し算するため「2019/6/12 11:35:40」が表示されます。
指定した時間を加算・減算した日時を返す方法についての説明は以上です。
指定分数を加算・減算した日時を返す
指定日時に対し指定した分数を加算・減算した日時を返す方法について説明します。
[記述例]:
※以下の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方については、VBEの開き方を参考にして下さい。
単位を表す文字に「n」を記述します。(「m」と間違えやすいので注意して下さい)
-------------------------------------------------
Sub サンプル()
MsgBox DateAdd("n", 1, "2019/6/12 10:35:40")
End Sub
-------------------------------------------------
内容は、「指定日:2019/6/12 10:35:40に1分を足した日付を返し、MsgBoxで表示して下さい。」との意味になります。
[実行例]:
結果は、1分を足し算するため「2019/6/12 10:36:40」が表示されます。
指定した分数を加算・減算した日時を返す方法についての説明は以上です。
指定秒数を加算・減算した日時を返す
指定日時に対し指定した秒数を加算・減算した日時を返す方法について説明します。
[記述例]:
※以下の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方については、VBEの開き方を参考にして下さい。
単位を表す文字に「s」を記述します。
-------------------------------------------------
Sub サンプル()
MsgBox DateAdd("s", 1, "2019/6/12 10:35:40")
End Sub
-------------------------------------------------
内容は、「指定日:2019/6/12 10:35:40に1秒を足した日付を返し、MsgBoxで表示して下さい。」との意味になります。
[実行例]:
結果は、1秒を足し算するため「2019/6/12 10:35:41」が表示されます。
指定した秒数を加算・減算した日時を返す方法についての説明は以上です。
おわりに
今回はDateAdd関数の使い方について説明しました。類似の関数にDateDiff関数(2つの日付の間隔を表示)があります。こちらも合わせて覚えておくと、データ処理の幅が広がります。