Doug's solution is undoubtedly the easiest way of getting a column of months. However, if you want a VBA solution, there is one below. You do not say why you cannot code such a routine yourself. I decided it was easier to code the routine than ask what you did not know. Ask if you do not understand what this code is doing.
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