VBA~WorksheetFunction.EoMonthメソッド~Excel
VBAで開始日から起算して、指定された月数に応じて1か月前や1か月後等の月末の日付を計算したい場合はWorksheetFunction.EoMonthメソッドを使います。
書き方
WorksheetFunction.EoMonth(開始日, 月)
例として下の画像において下のコードを実行するとセルA2を基準日としてセルB2,C2,D2にそれぞれ1か月前、1か月後、2か月後の月末の日付が表示されます。
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