具有条件的重复的宏

时间:2014-09-17 09:58:35

标签: excel excel-vba duplicates countif vba

我有一些数据,其中E列及其部门号中有多个重复项。在S列中。我想要做的是,对于col E中的任何重复值,如果Col S的值相同,则它应该在第一个副本中保留相同的值并删除其他重复项。如果Col S值不相同,则其值应为" 18"在里面。例如

Col E Col S答案    1515A 10不保留任何更改    1515AA 12在Col A中保留为1515AA,在Col S中保留为12    1515AA 12删除
   1515AA 12删除
   5151B 8不保留任何更改    515BB 5以18为515BB    515BB 3删除

我有近800-1500个订单项。任何人都可以帮我一个宏。这对我来说非常有用,而不是手动查找和删除数据。

1 个答案:

答案 0 :(得分:0)

您可以使用以下内容:

Sub EraseR()
    i = 1
    While Range("E" & i).Value <> ""
        If (Range("E" & i + 1).Value = Range("E" & i).Value) And (Range("S" & i + 1).Value = Range("S" & i).Value) Then
            Range(i + 1 & ":" & i + 1).Delete
        ElseIf (Range("E" & i + 1).Value = Range("E" & i).Value) And (Range("S" & i + 1).Value <> Range("S" & i).Value) Then
            Range(i + 1 & ":" & i + 1).Delete
            Range("S" & i).Value = 18
        Else
            i = i + 1
        End If
    Wend
End Sub