「エクセルvba 日付の計算」
「excel vba 日付 足し算」
「vba 変数に保存した日付を翌月にしたい」
といった検索で、このサイト・インストラクターのネタ帳へのアクセスがあります。
VBA(Visual Basic for Applications)で、翌月の日付を求めたり前月の日付を求めたりといった、日付の計算を行う方法を探している方による検索です。
日付計算を行うDateAdd関数を使ったサンプルマクロ
VBAで日付計算を行うには、DateAdd関数を使うのが便利です。
Dim date_org As Date
With ActiveCell
date_org = .Value
.Offset(1, 0).Value = DateAdd("m", 1, date_org)
.Offset(1, 1).Value = "翌月"
.Offset(2, 0).Value = DateAdd("m", -2, date_org)
.Offset(2, 1).Value = "2か月前"
.Offset(3, 0).Value = DateAdd("d", 45, date_org)
.Offset(3, 1).Value = "45日後"
End With
End Sub日付の入力されているセルを選択しておいてから上記のマクロを実行すると、そのセルの
1つ下のセルに翌月の日付
2つ下のセルに2か月前の日付
3つ下のセルに45日後の日付
が入力されます。
日付計算を行うDateAdd関数の引数
DateAdd関数は、指定された時間の間隔を、足し算した日付を返す関数です。
第1引数には、足し算する時間の間隔を表す文字列を指定します。
上記のマクロで使っている、「m」が月、「d」が日です。
他にも「q」「w」「ww」「h」「n」「s」などが指定できます。
それぞれが何を意味するのかは、是非ヘルプでご確認ください。
第2引数には、足し算する数値を指定します。
未来の日付なら正の値
過去の日付なら負の値
を指定してください。
第3引数には基準となる日付を指定します。
是非基準日を「2014年1月31日」などにして、翌月として、いつが返されるかなどをご確認ください。
Home » エクセルマクロ・Excel VBAの使い方 » VBA関数 » VBAで日付計算を行う-DateAdd関数