Excel VBA 的平均值
Average in VBA in Excel
我是 excel 中 VBA 的新手。我有一系列包含 11 000 个数字的数据。我想计算前 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
仔细查看您要在此代码中执行的操作:
l = Cells(i, 12).Value
m = Cells(k, 12).Value
Cells(j, 20).Value = [Average (l : m)]
您正在为每个 l
和 m
分配一个“long”值,然后在平均函数中调用它们,就好像它们是对单元格的引用一样。
我建议您添加一个范围变量,分配要平均的数据的位置,并将其用作函数参数。
类似于:
Dim myRange as Range
'Loop code here
Set myRange = Range("L" & i & ":L" & k)
Cells(j, 20).Value = Application.WorksheetFunction.Average(myRange)
我是 excel 中 VBA 的新手。我有一系列包含 11 000 个数字的数据。我想计算前 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
仔细查看您要在此代码中执行的操作:
l = Cells(i, 12).Value
m = Cells(k, 12).Value
Cells(j, 20).Value = [Average (l : m)]
您正在为每个 l
和 m
分配一个“long”值,然后在平均函数中调用它们,就好像它们是对单元格的引用一样。
我建议您添加一个范围变量,分配要平均的数据的位置,并将其用作函数参数。
类似于:
Dim myRange as Range
'Loop code here
Set myRange = Range("L" & i & ":L" & k)
Cells(j, 20).Value = Application.WorksheetFunction.Average(myRange)