カレンダーやスケジュール表のため、セル横軸で日付を生成したい
マクロでよくあるプログラムとして、日付を横軸のカレンダー(スケジュール)表を作成します。
毎度毎度、コードを書くのも手間なので、備忘録として残します。
セルの始点rngから横に日付を月初から月末まで入力するコード
'■セルの始点rngから横に日付を月初から月末まで入力していく。 Public Function call_CalenderDayCreateToColumn(sYear As Long, sMonth As Long, rng As Range) Dim c As Long '■日付を1~末日まで横軸で反映する For c = DateSerial(sYear, sMonth, 1) To DateSerial(sYear, sMonth + 1, 0) Cells(rng.Row, rng.Column + Day(c)-1) = c '2022/11/1 Cells(rng.Row, rng.Column + Day(c)-1).NumberFormatLocal = "mm/dd(aaa)" '11/01(火)の表記に変更 Next End Function実際の使い方
Public Sub sample() '2022年11月のカレンダーをセルA1を起点に横に書き込む Call call_CalenderDayCreateToColumn(2022, 11, Range("A1")) End Sub注意点
- 月によって、日数は異なります。上記は書き込むのみのプログラムですので注意ください。
※1月のデータが残った状態(31日まで)で、2月に書き込んでしまうと1/29 1/30 1/31が残る。
※事前にデータ削除するなど行ってください。
コメント