我希望找到细胞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
答案 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