VBA中的单元格平均值

时间:2017-07-31 17:52:50

标签: excel vba

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。

1 个答案:

答案 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

有些注意事项:

  • myRangeCString更改为Range
  • 使用正确的程序设置myRangeC以声明和设置范围(将Sheet1更改为工作表名称)
  • Application.Average更改为Application.WorksheetFuncion.Average并传入范围(它接受Range对象,而不是字符串)

如果需要,我可以提供更多说明。