サイトについて      連絡先   検索

VBA DateAdd 関数

はじめに

Excel VBA の DateAdd 関数を紹介します。

DateAdd 関数は、日時に指定した時間を加算して返します。

1 週間後の日付を取得したいときや、10 分前の時刻を取得したいときに使用します。

構文

DateAdd(単位, 加算時間, 日時)

名前 説明
引数「単位」単位を表す文字を指定します。
引数「加算時間」加算する時間 (単位) を数値で指定します。
引数「日時」元になる日時を指定します。
戻り値日付型 (Date)

引数「単位」

単位 説明
yyyy
m
d
h
n
s

解説

元になる日時に、単位が d なら日を、h なら時を加えた日時を返します。

元になる日時に時刻を指定したときは、日付型の初期値 1899/12/30 の日時を元に計算します。

加算時間に負の値を指定すると、元になる日時より過去の日時を返します。

加算後の日時が日付型の範囲、西暦100年1月1日 ~ 西暦9999年12月31日に収まらないときはエラーが発生します。

関数を使わなくても日付型 + 1で明日の日付を、日付型 + 時刻で時刻を求められます。

使用例


Dim dt As Date
dt = "2013/10/01 2:04:06"

Dim d As Date

d = DateAdd("yyyy", 1, dt)
Debug.Print (d) ' 2014/10/01 2:04:06

d = DateAdd("d", -1, dt)
Debug.Print (d) ' 2013/09/30 2:04:06

d = DateAdd("h", 3, dt)
Debug.Print (d) ' 2013/10/01 5:04:06

d = DateAdd("d", 1, "1:2:3")
Debug.Print (d) ' 1899/12/31 1:02:03

日時を計算する。


Dim dt As Date
dt = "2013/10/01 2:04:06"

Dim d As Date

d = dt + 1
Debug.Print (d) ' 2013/10/02 2:04:06

d = dt + #1:00:00#
Debug.Print (d) ' 2013/10/01 3:04:06

関連ページ