刚刚开始了一项新工作。我正在自动完成月末报告,我是VBA的新成员。一直在成功地搜索我的大部分问题,但我终于遇到了一堵墙。实质上,我正在从SAP下载一些数据,并从那里我需要建立一个报告。基于唯一ID的总和值
我的问题是:如何在VBA中使用循环进行sumif函数?
数据拉取: Sheet1包含产品代码和购买金额(列A & B)分别。一个产品代码可以有几个购买(几行具有相同的产品代码)。
步骤迄今:
我布置在数据Sheet 1中是按升序排列。
将产品代码的唯一值复制到另一个工作表(工作表2)上。所以Sheet2有一个所有产品的列表(按升序)。
我想获得sheet2列B(每个产品代码)中所有购买的总和。我知道如何使用公式来做到这一点,但我需要尽可能自动化。 (+我在搞清楚了这一点真正感兴趣)
这是我在VBA做了迄今: 子Macro_test()
Dim tb As Worksheet
Dim tb2 As Worksheet
Dim x As Integer
Dim y As Integer
Dim lrow As Long
Set tb = Sheets("sheet1")
Set tb2 = Sheets("sheet2")
lrow = tb.Cells(Rows.Count, "A").End(xlUp).Row
For x = 2 To lrow
For y = 2 To lrow
If tb2.Cells(x, 1).Value = tb.Cells(y, 1).Value Then
tb2.Cells(x, 2).Value = tb.Cells(y, 2).Value
End If
Next y
Next x
末次
如果我” m没错,对于sheet2 col A中的每个product_code,我循环遍历sheet1中的所有产品代码并找回找到的LAST值,而不是所有值的总和......我明白为什么它不起作用,我只是不知道如何解决它。
任何帮助将不胜感激。谢谢!
有没有你不只是使用'SumIf'功能的原因是什么? –