VBA中单元格的平均值

新的VBA。 试图创buildmacros将填充列(D)与另一列(C)的平均值。 我创build了一个variablesnb_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。

这似乎对我有用。 它将在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.AverageApplication.WorksheetFuncion.Average并传入范围(它接受一个Range对象,而不是一个string)

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