如果一个特定的列在下一行重复一个单词,VBA就会摆脱整行

我试图写一个VBA代码摆脱一行,如果有任何字是立即重复在同一列(列E),但在其他行。 如果发生这种情况,要删除的行是上面的那一行。 按照下面的例子。 在这种情况下,要删除的行是:E6,E10和E15。

工作表的名称是testing。 列和F和G不相关。

非常感谢!

在这里输入图像说明

编辑以添加注释中的代码:

Sub delete_duplicates_column_E() With Sheets("test").Range("A:E") .Value = .Value .RemoveDuplicates Columns:=5, Header:=xlYes End With End Sub 

只是鞭打这件事,尝试一下:

Sub removeDuplicates() Range("E2").Select Do Until ActiveCell.Value = "" If ActiveCell.Value = ActiveCell.Offset(1).Value Then ActiveCell.EntireRow.Delete (xlShiftUp) End If ActiveCell.Offset(1).Select Loop End Sub

删除行时,最好循环回去:

 Sub delete_duplicates_column_E() Dim ws As Worksheet Dim lastrow As Long Dim i As Long Set ws = Sheets("test") With ws lastrow = .Range("E" & .Rows.Count).End(xlUp).Row For i = lastrow To 2 Step -1 If .Cells(i, 5) = .Cells(i + 1, 5) Then .Rows(i).Delete End If Next i End With End Sub