2016-04-19 764 views
0

我正在尝试计算平均值,但是我收到了运行时错误。这是我的代码..如何在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 

任何人都可以显示我做错了什么。

在此先感谢...

+0

我认为你需要一个Next n不只是一个Next。 –

+0

没有它的不工作...我在'Range(Cells(n,6))得到运行时错误。 ).Address(False,False)&“)”' –

回答

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 
+0

嘿,谢谢它的工作.... –

+0

很高兴我可以帮助:) –

1

Range(Cells(n, 6))

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

Cells(n, 6)

Range("F" & n)