【VBA入門】10日後・3か月後の日付を求める|DateAdd関数の使い方と応用例

Excel VBAでは、指定した日付に対して「10日後」や「3か月後」などの日付計算を簡単に行うことができます。
こうした日付の加算・減算は、納期の自動計算やスケジュール管理など、実務において非常に頻繁に登場する処理です。

この記事では、DateAdd 関数を用いた未来・過去の日付計算の基本と活用例を丁寧に解説いたします。


目次

DateAdd関数の基本構文

DateAdd(単位, 加算値, 基準日付)
  • 単位:日なら "d"、月なら "m"、年なら "yyyy" など
  • 加算値:未来なら正の値、過去なら負の値
  • 基準日付:起点となる日付(Date型)

実用コード例:日数・月数の加減

Sub CalculateFutureDates()
    Dim baseDate As Date
    Dim r As Long

    baseDate = Range("B3").Value  ' 起点となる日付(例:2025/7/20)

    For r = 3 To 8
        Cells(r, "G").Value = DateAdd(Cells(r, "D").Value, 10, baseDate)   ' 10単位後
        Cells(r, "H").Value = DateAdd(Cells(r, "D").Value, -10, baseDate)  ' 10単位前
    Next
End Sub

補足:

  • 列 D には "d""m" のような単位指定文字列が入力されている想定です。
  • "d" を指定すれば10日後、"m" なら3か月後(10ヶ月後・前)など柔軟な処理が可能です。

対応する単位の一覧(抜粋)

単位意味例:10単位加算
"d"10日後
"m"10か月後
"yyyy"10年後
"ww"10週後
"h"10時間後

実務での活用例

  • 納期(受注日 + 日数)を自動で計算
  • 支払予定日を指定月数後に設定
  • 契約開始日から数か月後の満期日を算出
  • 登録日から30日以内の有効期限チェック など

まとめ|VBAでの未来・過去の日付計算はDateAddで簡潔に

VBAで日付の加算・減算を行うには、DateAdd 関数を使うのが最もシンプルかつ強力です。

  • 単位は "d"(日)や "m"(月)など柔軟に指定可能
  • 負の数を使えば過去の日付も簡単に算出
  • ループ処理と組み合わせることで、複数データの一括処理も容易

正確なスケジュール計算は、ビジネスの信頼性向上に直結します。
本記事を参考に、自動化された日付処理の仕組みをぜひ構築してみてください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次