Excel中的VBA平均值

时间:2015-04-22 14:38:59

标签: excel vba excel-vba average

我是excel的VBA新手。我有一系列的数据,如11000个数字。我希望它计算前60个的平均值然后到下一个60直到结束。我做了一些编程,但这不起作用。所以有人可以帮助我。

Sub Hourlyaverage()
Dim i As Long, j As Long, k As Long, l  As Long, m As Long

Sheets("DUT1_Test51_excel").Select

i = 3
j = 3
k = 63

Do While Cells(i, 12).Value <> ""

    l = Cells(i, 12).Value
    m = Cells(k, 12).Value

    Cells(j, 20).Value = [Average (l : m)]
    i = i + 60
    j = j + 1
    k = k + 60
Loop


End Sub

1 个答案:

答案 0 :(得分:2)

仔细查看您在此代码中尝试执行的操作:

l = Cells(i, 12).Value
m = Cells(k, 12).Value

Cells(j, 20).Value = [Average (l : m)]

你正在分配一个&#34; long&#34; lm中的每一个的值,然后在平均函数中调用它们,就好像它们是对单元格的引用一样。

我建议你添加一个范围变量,分配你想要平均的数据的位置,并将其用作你的函数参数。

类似的东西:

Dim myRange as Range

'Loop code here
Set myRange = Range("L" & i & ":L" & k)
Cells(j, 20).Value = Application.Average(myRange)