【VBA】指定した日付の○ヵ月後の日付を取得する

VBAで
 ・指定した日付の
 ・○ヵ月後の日付を取得
できます!

例えば
 ・「2022/08/31」の1ヵ月後である
 ・「2022/09/30」を取得
できます!
※「2022/09/31」といったありえない日付にはなりません。

PR

VBAコード

ここでは例として
 ・「2022/08/31」の1ヵ月後である
 ・「2022/09/30」を取得
します。

Option Explicit

Sub sample()
    
    Dim targetDate As Date
    Dim OneMonthLaterDate As Date
    
    targetDate = "2022/08/31"
    
    '1ヵ月後の日付を取得
    OneMonthLaterDate = CDate(WorksheetFunction.EDate(targetDate, 1))
    
    MsgBox targetDate & " の1ヵ月後は" & vbCrLf & _
           OneMonthLaterDate & " です。"
    
End Sub

「WorksheetFunctionオブジェクト」の「EDate」メソッドにより、「○ヵ月後の日付」を取得します(11行目)。
※第2引数に「1」を指定することで「1ヵ月後の日付」を取得します。
※取得する日付は「シリアル値」となります。

VBA関数「CDate」により、「シリアル値」を「日付形式」へ変換します(11行目)。

PR

実行結果

指定した日付の○ヵ月後の日付を取得できました。
※「2022/08/31」の1ヵ月後である「2022/09/30」を取得できました。

実行結果
実行結果
PR

参考

上記で使用した以下の詳細は、公式サイトをご確認ください。

●「WorksheetFunctionオブジェクト」の「EDate」メソッド


●VBA関数「CDate」

タイトルとURLをコピーしました