【问题标题】:Remove duplicates depending on another column, then add corresponding values of the removed duplicates vba根据另一列删除重复项,然后添加已删除重复项的对应值 vba
【发布时间】:2018-01-17 01:00:52
【问题描述】:

我在删除重复项和添加其对应值方面需要帮助 - 取决于它们是否是另一列中的重复项。在这种情况下,如果零件编号在同一工单下重复,则删除重复项 - 但是,添加所有值。我需要避免从另一个工单号中删除重复项。

【问题讨论】:

标签: excel vba


【解决方案1】:

尝试以下操作,它将在右侧添加一列,对 SumIF 使用公式,然后将结果粘贴为值并删除列 C 以将数据带到正确的列,然后删除重复项以提供预期的摘要:

Sub foo()
    Dim ws As Worksheet: Set ws = Sheets("Sheet1")
    'declare and set worksheet, amend as required
    LastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
    'get the last row with data from Column A

    Range("D2").FormulaR1C1 = "=SUMIF(C[-2],RC[-2],C[-1])"
    'enter a sumif formula to add all with same item number
    Range("D2:D" & LastRow).FillDown 'fill the formula to the last row
    Range("D2:D" & LastRow).Copy 'copy
    Range("D2:D" & LastRow).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    'paste as values
    Range("C2:C" & LastRow).Delete Shift:=xlToLeft
    'delete column C and bring to the left the values calculated by formula
    Range("$A$1:$D$" & LastRow).RemoveDuplicates Columns:=Array(1, 2, 3, 4), Header:=xlYes
    'remove duplicates
End Sub

【讨论】:

    猜你喜欢
    • 2018-05-27
    • 2018-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-28
    • 1970-01-01
    • 2021-02-09
    • 2021-12-02
    相关资源
    最近更新 更多