当月末の日付(月の最終日)を簡単に求めたい
カレンダーをVBAで作成するとなると、当月末を簡単に求められた方がよいです。
DateSerial関数を使用する事で簡単に求める事が出来ます。
'■DateSerial関数で当月末日を求める Public Sub sample() '■処理タイミングの当月末を取得 2022/06/06実行→2022/06/30 MsgBox DateSerial(Year(Date), Month(Date) + 1, 0) '■年跨ぎをしっかりするなら If Month(Date) = 12 Then MsgBox DateSerial(Year(Date), Month(Date) + 1, 0) Else MsgBox DateSerial(Year(Date) + 1, Month(Date) + 1, 0) End If End Sub
まとめ
DateSerial関数自体は別途こちらの記事を参照ください。こちらのページではお伝えしません。
当月末の日付を算出するのは「翌月を出して、そこから前月末日を出す形」なので少しクセがあります。
付録
月末日の一覧表をまとめてます。
小学生の頃に「西向く士(にしむくさむらい)」で覚えましたよね。
月 | 月末日 | 備考 |
1月 | 31 | |
2月 | 28 | 閏年は29日 |
3月 | 31 | |
4月 | 30 | |
5月 | 31 | |
6月 | 30 | |
7月 | 31 | |
8月 | 31 | |
9月 | 30 | |
10月 | 31 | |
11月 | 30 | |
12月 | 31 |
コメント