对具有相同产品名称但值不同的行求和Excel VBA

时间:2018-09-27 11:57:54

标签: excel vba excel-vba

我正在尝试对这些值求和 I'm trying to SUM these values 这就是我运行宏后发生的情况。 And this is what happens after I run the macro.
遇到以下问题时,我试图建立一个宏以合并A列中的相应值,然后求和B列中的值。

我尝试了以下代码,该代码删除了A列中的重复项,但对B列却什么也不做。

Sub RemoveDupsAndSumUp()
    Application.ScreenUpdating = False
        Columns("A:A").Copy
        Range("C1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
        Range("$C:$C").RemoveDuplicates Columns:=1, Header:=xlNo
        Range("D1").FormulaR1C1 = "=SUMIF(C[-3],RC[-1],C[-2])"
        Range("D1").AutoFill Destination:=Range("D1:D" & Range("C" & Rows.Count).End(xlUp).Row), Type:=xlFillDefault
    Application.ScreenUpdating = True
    End Sub

2 个答案:

答案 0 :(得分:0)

下面的代码非常适合我,产生了预期的结果:

enter image description here

Sub TestMe()

    With ActiveSheet
        .Columns("C:D").ClearContents
        .Columns("A:A").Copy

        .Range("C1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
        Application.CutCopyMode = False
        .Range("$C:$C").RemoveDuplicates Columns:=1, Header:=xlNo
        .Range("D1").FormulaR1C1 = "=SUMIF(C[-3],RC[-1],C[-2])"
        .Range("D1").AutoFill Destination:=Range("D1:D" & Range("C" & Rows.Count).End(xlUp).Row), Type:=xlFillDefault
    End With

End Sub

答案 1 :(得分:-1)

似乎您可能试图有条件地对文本求和。