2015-10-04 432 views
0

您好我有一个数据集是这样的:如何使用vba进行sumif函数(数据合并)?

A B 
    a 2 
    b 1 
    c 3 
    a 1 
    b 2 

我想在列d和E的重复被删除合并的数据。下面的例子。

Eg. 
    D E 
    a 3 
    b 3 
    c 3 

我已经想通了删除重复的部分。但我仍然坚持巩固。我估计用Sumif可以解决问题。但Iam不确定这是最好的解决方案。 有人能帮助我吗? 在此先感谢。

回答

0

在我看来,使用实现的功能一定是最好的解决方案。

所以:

Sub Consolidate() 

With ActiveSheet 

    .Columns("A:B").Copy Destination:=.Columns("D:E") 
    .Columns("D:E").RemoveDuplicates Columns:=1, Header:=xlNo 
    lLastRow = .Columns("D").Cells(.Rows.Count, 1).End(xlUp).Row 
    .Range("E1:E" & lLastRow).FormulaR1C1 = "=SUMIF(C[-4],RC[-1],C[-3])" 

End With 

End Sub 

,或者干脆利用Consolidate

Sub Consolidate2() 

With ActiveSheet 

    .Range("D1").Consolidate Sources:="C1:C2", Function:=xlSum, _ 
     TopRow:=False, LeftColumn:=True, CreateLinks:=False 

End With 

End Sub 

注意,Sources:="C1:C2"在R1C1表示法中给出。所以它意味着Column1到Column2。

+0

谢谢。有用!我通过了第一个。我尝试了数据合并方法。但它给了我一个问题。 –