当条目不同时删除excelmacros中的条目

我目前正试图创build一个程序,将search通过Excel文件并删除重复的条目。

我已经做了这个代码。 但是,我也需要它删除重复之前和重复之后的条目。 我到处找,找不到任何例子,请帮忙!

这些是我的示例条目

The1 Car Car The2 

我需要它来删除The1和两个Car条目离开The2。 这是我的代码到目前为止

 Sub rar() Dim i As Long With Worksheets("Sheet1") 'DEFINES WHICH SHEET TO USE' For i = Cells(Rows.Count, "A").End(xlUp).Row To 2 Step -1 If Cells(i, 1).Value = Cells(i - 1, 1).Value Then Rows(i+1).Delete Rows(i).Delete Rows(i-1).delete End If Next i End With End Sub 

正如Chris Neilsen指出的那样 – 使用With是一个好主意,但是你需要把一个. 在单元格和范围引用之前,确保它们引用您在With标记中指定的工作表

尝试这个:

 Sub rar() Dim i As Long, rng As Range With Worksheets("Sheet1") 'DEFINES WHICH SHEET TO USE' For i = 3 to .Cells(.Rows.Count, "A").End(xlUp).Row If .Cells(i, 1).Value = .Cells(i - 1, 1).Value Then If rng Is Nothing Then Set rng = .Rows(i - 2 & ":" & i) Else Set rng = Union(rng, .Rows(i - 2 & ":" & i)) End If End If Next i End With rng.Delete End Sub 

注意:未经testing – 但想法是创buildbuild立你的范围,当你循环,然后在最后删除。 这样你就不用担心反向循环。