找到几个单元格的平均值然后自动填充

时间:2017-04-14 17:32:05

标签: excel vba excel-vba excel-formula

我希望找到细胞A2:D2的平均值并将它们放入E2然后将该等式自动填充到500个左右的E细胞的其余部分中。以下是我到目前为止的情况:

Sub average ()
Dim nRows As Integer
Dim nCols As Integer

nCols = Range(Range("A2"), Range("A2").End(xlToRight)).Columns.Count
nRows = Range(Range("A2"), Range("A2").End(xlDown)).Rows.Count
Range("E2").FormulaR1C1 = "=AVERAGE(R[]C[ " & nCols & "]:R[]C[])"

End Sub

1 个答案:

答案 0 :(得分:1)

下面的宏会将每行的A到D的平均值放在E列中,然后将公式向下拉到工作表的最后一行。

Sub Average()

Dim lRow As Long
Dim ACell As String
Dim Col As String

    Range("E2").Select
    ActiveCell.FormulaR1C1 = "=AVERAGE(RC[-4]:RC[-1])"
    lRow = WorksheetFunction.Max(Range("A65536").End(xlUp).Row, 
    Range("B65536").End(xlUp).Row, Range("C65536").End(xlUp).Row)
    ACell = Range("E2").Address(RowAbsolute:=False, ColumnAbsolute:=False)
    Col = Left(ACell, 1)
    Range(ACell & ":" & ACell).AutoFill Range(ACell & ":" & Col & lRow)

End Sub