将结果从variables循环写入工作表

我正在尝试使用一个macros将我今天到九月的这几个月写入Excel表格。 以下是我遇到问题的部分代码:

Dim months(1 To 12) As String For i = m To 9 months(i) = i Cells(31 + i, 6) = MonthName(months(i)) Next i 

代码基本上工作,但问题是,Excel电子表格中的第一个单元格随i的值而变化。 例如,如果今天是三月,第一个单元格将是(34,6),但是如果是四月,它将是(35,6)。

有人可以给我一个提示如何“修复”第一个细胞?

或者你可以使用这样的事情,避免循环/使用数组:

 Sub SO() Const startColumn As String = "F" '// Change as required Const noMonths As Integer = 9 '// Number of months required With Range(startColumn & "31").Resize(1, noMonths) .Formula = "=TEXT(DATEVALUE(""01-""&COLUMN()-" & Range(startColumn & "1").Column - 1 & "&""-2015""),""Mmmm"")" .Value = .Value End With End Sub