VBA 日付の計算 DateAdd 1日後の日付を取得

vbaを利用して、日付の計算を行う方法を紹介していきます。
1日後の日付や、1年前の日付など簡単に日付の計算をすることができます。

説明を行う前に備忘録として、よく使用する例を記載しておきます。

'変数宣言
Dim dt_add As Date

dt_add = DateAdd("yyyy", 1, "2022/01/10 10:00:00")    '2023/01/10 10:00:00
dt_add = DateAdd("m", 1, "2022/01/10 10:00:00")       '2022/02/10 10:00:00
dt_add = DateAdd("d", 1, "2022/01/10 10:00:00")       '2022/01/11 10:00:00
dt_add = DateAdd("h", 1, "2022/01/10 10:00:00")       '2022/01/10 11:00:00
dt_add = DateAdd("n", 1, "2022/01/10 10:00:00")       '2022/01/10 10:01:00
dt_add = DateAdd("s", 1, "2022/01/10 10:00:00")       '2022/01/10 10:00:01

 

日付の計算 DateAdd

日付の計算を行うには、DateAddを利用していきましょう。
記載方法は下記になります。

DateAdd(単位 ,期間 ,基準日)

 

これだけだとわかりにくいと思うので、例として、1年後の日付をを取得する方法を紹介します。
単位 :「yyyy」
期間 :「1」
基準日:「2022/01/10 10:00:00」

Private Sub CommandButton1_Click()

    '変数宣言
    Dim dt_add As Date
    
    '日付加算
    dt_add = DateAdd("yyyy", 1, "2022/01/10 10:00:00")
    Debug.Print (dt_add)
    
End Sub

 

結果

2023/01/10 10:00:00

1年後の日付を取得することができました。
単位で年単位や月単位や日単位を指定することができ、あとは期間を設定することで、基準日から計算を行ってくれます。

 

単位の一覧

単位の一覧を掲載していきます。

単位 説明
yyyy
q 四半期
m
y 通年での日数
d
w 平日
ww
h 時間
n
s

 

日付をマイナスする

余談ですが、DataAddは、マイナスの期間を指定することができます。
単位 :「d」
期間 :「-1」
基準日:「2022/01/10 10:00:00」

Private Sub CommandButton1_Click()

    '変数宣言
    Dim dt_add As Date
    
    '日付加算
    dt_add = DateAdd("d", -1, "2022/01/10 10:00:00")
    Debug.Print (dt_add)
    
End Sub

 

結果

2022/01/09 10:00:00

 

期間の部分に「-1」を指定すると、結果は1日前の日付になっていますね。

 

まとめ

今回はvbaで日付の計算を行う方法を紹介しました。
日付の計算はよく使用するので、是非参考にしてみてください。

DateAdd(単位 ,期間 ,基準日)

 

 

 

EXCEL VBAの記事一覧

 

おすすめの記事