Sub EndOfMonths()
Dim StartCell As Range
Dim n As Integer
'
Set StartCell = Range("B2")
StartCell.Value = DateSerial(2000, 7, 31)
'
Do
n = n + 1
StartCell.Offset(n, 0).Value = CDate(eomonth(StartCell, n))
Loop While StartCell.Offset(n, 0).Value < DateSerial(2010, 11, 30)
'
End Sub
Если вы используете Excel 2003, откройте редактор Visual Basic (Alt + F11) и выберите «atpvbaen.xls».