如何使用VBA

时间:2017-06-20 21:22:12

标签: excel vba excel-vba

我的第一栏有“项目分数”。我想平均每三行并返回A栏中的值,我将其标记为“总体调查分数”。

所以I2:I4的平均值将显示在A2中。 I5:I7的平均值将显示在A5中,依此类推,直到最后一行数据可用。

我想远离单元格中的公式并使用VBA执行此操作。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

您可以使用公式,如此。在I2开始

=IF(OR(ROW()-2=0,MOD(ROW()-2,3)=0),AVERAGE(OFFSET(I2,0,0,3,1)),"")

答案 1 :(得分:0)

Sub getavgs()
Dim i As Integer

For i = 1 To 27 Step 3
    ActiveWorkbook.Worksheets("Sheet1").Range("A" & i).Value = _
(ActiveWorkbook.Worksheets("Sheet1").Range("L" & i).Value + _
ActiveWorkbook.Worksheets("Sheet1").Range("L" & i + 1).Value + _
ActiveWorkbook.Worksheets("Sheet1").Range("L" & i + 2).Value) / 3
Next i

End Sub