前回質問(削除されましたが)は忘れて、素直に?考えます。
以下の想定(あるいは想像)です。
1. A1 には「1 日」の日付が入るものとする。
2. 「A1から1ヶ月間を自動で印刷」は、A1 の日付を月末まで 1 日ずつ進めて、都度印刷することと解釈する。
もしかして A1:A48(の行範囲)が 2 日分なのか?という気もするが。
3. 印刷範囲および A1, A18, A25, A42 の書式設定は適切に設定されているものとする。
A18, A25, A42 は予め式を入力しておいてもよさげではありますが。
しょせん律速段階は実際の印刷処理ですから、ここは普通に当該月の日数分 PrintOut しています。その方がコードはシンプルですし。
Preview:=True はテストのために入れているので、不要なら削除してください。
Sub Sample()
If Not IsDate(Range(\u0026quot;A1\u0026quot;).Value) Then Exit Sub
Dim dateStart As Date
dateStart = Range(\u0026quot;A1\u0026quot;).Value
If Day(dateStart) \u0026lt;\u0026gt; 1 Then Exit Sub
Dim d As Long
For d = 0 To Day(WorksheetFunction.EoMonth(dateStart, 0)) - 1
Range(\u0026quot;A1\u0026quot;).Value = dateStart + d
Range(\u0026quot;A18\u0026quot;).Value = DateAdd(\u0026quot;m\u0026quot;, 6, dateStart + d) - 1
Range(\u0026quot;A25\u0026quot;).Value = Range(\u0026quot;A1\u0026quot;).Value + 1
Range(\u0026quot;A42\u0026quot;).Value = Range(\u0026quot;A18\u0026quot;).Value + 1
ActiveSheet.PrintOut Preview:=True
Next
End Sub