
Excel VBAで基準日となる日から○年後、○ヶ月後、○週間後、○日後、○時間後、○分後など日付間隔や時間間隔などを指定して取得します。
下図はExcel2016です。
< スポンサーリンク >
構文
指定した時間間隔を日付に加算してその日付を含む日付を返します。
DateAdd(interval, number, date)
interval=必須。加算する時間間隔を表す文字列式を指定。
number=必須。追加するサイクル間隔の数値を表す指定。将来の日時を取得するには正の値を、過去の日時を取得するには負の値を指定。
date=必須。時間間隔を加算する日付を指定。
intervalの設定は下記のとおりです。
設定 | 説明 |
---|---|
yyyy | 年 |
q | 四半期 |
m | 月 |
y | 通年での日数 |
d | 日 |
w | 平日 |
ww | 週 |
h | 時 |
n | 分 |
s | 秒 |
VBA DateAdd関数使用例
B1のセルの日付に1年後、1ヶ月後、2週間後、3日後、30分後を取得し、B2、B3、B4、B5、B6のセルに入れます。
Sub test()
Dim t As Date
With ActiveSheet
t = .Range(“B1”).Value
.Range(“B2”).Value = DateAdd(“yyyy”, 1, t)
.Range(“B3”).Value = DateAdd(“m”, 1, t)
.Range(“B4”).Value = DateAdd(“ww”, 2, t)
.Range(“B5”).Value = DateAdd(“d”, 3, t)
.Range(“B6”).Value = DateAdd(“n”, 30, t)
End With
End Sub
VBAを実行するとセルに指定された日付が表示されました。
こんな記事も書いています