我在此代码中遇到了一些问题,我的.Value
无法正常工作。
如果我执行硬编码我的一切正常 - >>> .Value =" =平均值(E2:E7)"
但是,当我执行以下操作时,它将无效。我确定它是 - >范围(" E" ........)
'Iterate average for close price per week
Dim startOfWeek As Integer
Dim endOfWeek As Integer
numberOfWeek = 52
startOfWeek = 2
endOfWeek = 6
secondRow = 2
For i = 1 To numberOfWeek
range("J" + CStr(secondRow)).Select
With Selection
.Value = "=Average(" + range("E" + CStr(startOfWeek) + ":E" + CStr(endOfWeek)).Select + ")"
.Font.Bold = False
End With
secondRow = secondRow + 1
startOfWeek = startOfWeek + 5
endOfWeek = endOfWeek + 5
Next i
答案 0 :(得分:1)
CStr
。你可以全部删除它们。所以你可以像这样重构你的代码:
'Iterate average for close price per week
Dim startOfWeek As Integer
Dim endOfWeek As Integer
numberOfWeek = 52
startOfWeek = 2
endOfWeek = 6
secondRow = 2
For i = 1 To numberOfWeek
With Range("J" & secondRow)
.Value = "=Average(E" & startOfWeek & ":E" & endOfWeek & ")"
.Font.Bold = False
End With
secondRow = secondRow + 1
startOfWeek = startOfWeek + 5
endOfWeek = endOfWeek + 5
Next i