>>12
こんなかんじ?
日と曜日は別の列のほうが良い気もするけど(セルの書式が違っちゃうから)

Sub test()
Dim yr As Long
Dim mo As Long
Dim dy As Long
With ThisWorkbook.Sheets(1)
 .Cells(3, 2).CurrentRegion.Clear
 yr = .Range("B1")
 mo = .Range("D1")
 For dy = 1 To Day(DateSerial(yr, mo + 1, 0))
  .Cells(dy * 2 + 1, 2) = dy
  .Cells(dy * 2 + 2, 2) = DateSerial(yr, mo, dy)
  .Cells(dy * 2 + 2, 2).NumberFormatLocal = "aaa"
 Next dy
 End With
End Sub