如何从VBA中的多列获得平均值

  • 本文关键字:平均值 VBA excel vba
  • 更新时间 :
  • 英文 :


我有一个带有第一行的表格,并带有学生名称的第一行,其余的细胞分数不同。

我必须在o上创建一个新的标题,该标题为平均得分。完成此操作后,我必须计算从B列到N列的所有值,然后在O。

的每一行上打印出平均值。
Sub CalculateAverage()
Dim rng As Range
Dim totalsum As Double
Dim totalnum As Double
Dim answer As Double
    totalsum = 0
    totalnum = 0
Set rng = Cells(1, 1).CurrentRegion
    For Each Sheet In Application.Worksheets
    Sheet.Cells(1, 15) = "Average Score"
    ActiveSheet.Cells.HorizontalAlignment = xlLeft
    Next
    For Each Sheet In Worksheets("Sheet1").Range("B2:N502").Cells
        totalsum = totalsum + Sheet.Value
        totalnum = totalnum + 1
    Next
    answer = totalsum / totalnum
    Average = answer
    Range("O2").Select
    ActiveCell.FormulaR1C1 = Average()
End Sub

我在第二行的第二行中遇到了调试错误。任何人都可以帮助我解决这个问题。谢谢

Sub Macro1()
    Dim rng As Range
    Set rng = Range("A1").CurrentRegion
    With Range("O2")
        .Formula = "=AVERAGE(RC[-13]:RC[-1])"
        .AutoFill Destination:=Range("O2:O" & rng.Rows.Count)
    End With
End Sub

如果我这样做,我将不进行数据,从数据中进行透视,然后使用可透视。如果我安装了Addin,我将使用PowerQuery来执行此操作(并烘烤到Excel 2016(。否则,我将在Convert Cross表中使用答案中的一种方法来制作枢轴表,然后我简单地启动宏记录器,制作枢轴,然后查看并修改结果代码。

最新更新