VBA新手。尝试创建将使用另一列(C)的平均值填充列(D)的宏。我创建了一个变量nb_rows
并开始使用此代码:
Dim myRangeC As String
Let myRangeC = "C4:C" & nb_rows
For i = 4 To nb_rows
Range("D" & i).Value = Application.Average(myRangeC)
Next i
我收到了错误消息。我哪里出错了。例如,目前将nb_rows设置为27。
答案 0 :(得分:2)
这似乎对我有用。它会将平均值放在D列的每一行中(我不确定这是否是您的意图,但这是您的代码当前的结构)。
Sub Test()
Dim nb_rows As String
Dim myRangeC As Range
Dim i As Long
nb_rows = 27
'Change Sheet1 to your sheet name
Set myRangeC = Worksheets("Sheet1").Range("C4:C" & nb_rows)
For i = 4 To nb_rows
Range("D" & i).Value = Application.WorksheetFunction.Average(myRangeC)
Next i
End Sub
有些注意事项:
myRangeC
从String
更改为Range
myRangeC
以声明和设置范围(将Sheet1更改为工作表名称)Application.Average
更改为Application.WorksheetFuncion.Average
并传入范围(它接受Range
对象,而不是字符串)如果需要,我可以提供更多说明。