VBA运行总和

比方说,我有2列(下表包括结果)

Product ID Price Average 1 4 5 1 4 5 1 7 5 2 3 3 2 3 3 3 9 9 

我希望能够编写一个VBA代码来遍历产品ID的行,并创build第三列来平均价格。

我猜For语句可以工作,但是如何定义临时variables来存储每个ID呢?

谢谢!

正如Vasily和L.Dutch所说, AVERAGEIF()函数是您所需要的。 如果你想循环遍历所有单元格,可以使用Do While循环,如下所示:

 Sub avg() Dim i As Integer i = 2 Do While Range("A" & i).Value <> "" Range("C" & i).FormulaR1C1 = "=AVERAGEIF(C1,RC1,C2)" i = i + 1 Loop End Sub