vba - Excel 中的 VBA 平均值

标签 vba excel average

我是 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然后在平均函数中调用它们,就好像它们是对单元格的引用一样。
我建议您添加一个范围变量,分配您想要平均的数据的位置并将其用作您的函数参数。
就像是:
Dim myRange as Range

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

关于vba - Excel 中的 VBA 平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29800992/

相关文章:

VBA-Excel 如何在 Outlook 中查找交换用户的电子邮件地址

Excel 中的 Oracle 和 ADO 查询不返回结果

excel - 使用不同行上的 VBA、数据和变量从 .txt 文件中解析数据

excel - 使用 Excel VBA 通过 WebView2Loader.dll 托管 Microsoft Edge

vba - 在 VBA 中交替行打印

Excel 导出显示 '#####...'

vba - 运行 Access 查询并将结果复制到 excel

php - 我如何计算出平均评分并在我的 MySQL 表中添加一个新列来记录这个

java - 计算高于平均值的值以返回另一种方法

javascript - 使用简单的网络表单计算平均值