我正在尝试使用宏将从今天到 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的值而变化。例如,如果今天是三月,则第一个单元格将为 (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
关于vba - 将变量循环的结果写入工作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29324059/