OfficeType

VBA~WorksheetFunction.EoMonthメソッド~Excel

VBAで開始日から起算して、指定された月数に応じて1か月前や1か月後等の月末の日付を計算したい場合はWorksheetFunction.EoMonthメソッドを使います。

書き方

WorksheetFunction.EoMonth(開始日, 月)

例として下の画像において下のコードを実行するとセルA2を基準日としてセルB2,C2,D2にそれぞれ1か月前、1か月後、2か月後の月末の日付が表示されます。

image-01

Sub test1()

Range("B2") = WorksheetFunction.EoMonth(Range("A2"), -1)
Range("C2") = WorksheetFunction.EoMonth(Range("A2"), 1)
Range("D2") = WorksheetFunction.EoMonth(Range("A2"), 2)

End Sub

image-01