ご指摘ありがとうございます。 > 『指定年月日からの横型の年間カレンダーを作成する』では、31日無い月でも、翌月が表示され、31列分の日数が並んでしまう。 このカレンダーは21日始まりのカレンダーを作成するのが元になっています。 指定年月日の日にちが始まりの日になるカレンダーが作成されると思います。 2017/1/21 であれば、1/21〜2/20(31日)、2/21〜3/20(28日)、3/21〜4/20(31日)、4/21〜5/20(30日)・・・といったカレンダーになると思いますので、 ご指摘の「31列分の日数が並んでしまう。」というのが理解できません。 このカレンダーの月の表示が「1日」を含む月を表示していましたが、 分かりにくいので、E列の日の月を表示するように変更しました。 '月、日にちを入力 .Cells(2 + gyokan * i, 4).Value = Month(.Cells(2 + gyokan * i, 5).Value) & "月" >『横型カレンダーからボックス型カレンダーを作成する』では、月表示が正しく表示されない。 1年のカレンダーを作成することにしていましたので、月数によっておかしなことになっていました。 このコードの月の計算も最初の日にちの月を表示する方法にしました。 If myData(i, 1) = 0 Then tuki = "" Else tuki = Month(myData(i, 1)) End If