如何在excel vba中编写平均公式

时间:2016-04-19 05:28:47

标签: excel vba excel-vba

我正在尝试计算平均值,但我遇到了运行时错误。这是我的代码..

lastrowcell = Range("B1", Range("B1").End(xlDown)).Rows.Count
Range("F1").Value = "High+Low/2"
For n = 2 To lastrowcell
    Range(Cells(n, 6)).Formula = "=average(" & Range(Cells(n, 2), Cells(n, 3)).Address(False, False) & ")"
Next

任何人都可以表明我做错了什么。

提前致谢...

2 个答案:

答案 0 :(得分:3)

你不需要循环,Excel足够聪明,可以一次性填充整个事物:

lastrowcell = Range("B1", Range("B1").End(xlDown)).Rows.Count
Range("F1").Value = "High+Low/2"
Range("F6:F" & LastRow).Formula = "=AVERAGE(B6:C6)"

6将在每行递增

如果你想要最后一行,除非你专门寻找第一行,否则总是更好地自下而上:

lastrowcell = Range("B" & Rows.Count).end(xlup).row

答案 1 :(得分:1)

Range(Cells(n, 6))

不是Range属性的正确语法。当只有一个参数时,它应该是字符串。相反,您可以使用:

Cells(n, 6)

Range("F" & n)