我正在尝试使用宏将今天到9月的几个月写入我的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的值而变化。例如,如果今天是3月,则第一个单元格将是(34,6),但如果是4月则是(35,6)。
任何人都可以给我一个提示如何修复"第一个细胞?
答案 0 :(得分:2)
或者您可以使用类似的东西并避免循环/使用数组:
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