Doug のソリューションは、間違いなく、月の列を取得する最も簡単な方法です。ただし、VBA ソリューションが必要な場合は、以下のソリューションがあります。なぜそのようなルーチンを自分でコーディングできないのか、あなたは言いません。知らないことを尋ねるよりも、ルーチンをコーディングする方が簡単だと判断しました。このコードが何をしているのかわからない場合は尋ねてください。
Option Explicit
Sub TestDataRange()
Call OutputDateRange("Sheet1", 2, 2, DateValue("1 Mar 2004"), _
DateValue("1 Apr 2008"))
End Sub
Sub OutputDateRange(ByVal WShtName As String, ByVal RowTop As Long, _
ByVal Col As Long, ByVal DateFirst As Date, _
ByVal DateLast As Date)
Dim DateCrnt As Date
DateCrnt = DateFirst
With Sheets(WShtName)
Do While True
With .Cells(RowTop, Col)
.Value = DateCrnt
.NumberFormat = "mmmm yyyy"
End With
DateCrnt = DateAdd("m", 1, DateCrnt)
If DateCrnt > DateLast Then
Exit Do
End If
RowTop = RowTop + 1
Loop
End With
End Sub