2015-10-04 429 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

謝謝。有用!我通過了第一個。我嘗試了數據合併方法。但它給了我一個問題。 –