Excel VBA:创buildmacros,删除两列中具有相同值的单元格的行

我通常编写代码C,但我被迫使用VBA,我一整天都在撕掉我的发髻。

场景:每天我工作的工程师获得数百个文档,他有一个macros解压缩并在excel工作表中列出文档。 列A是UniqueID,B是Zip文件名,C是文件名。 每个Zip文件都有一个与Zip文件名称相同名称的求职信。这个求职信是无用的,需要删除。

我需要一个macros,通过并删除整行时,该行持有coverletter信息。 例如,如果B4 = C4删除第4行或者如果B5 = C5,则删除第5行等。我尝试的所有内容都返回错误。 我已经想出了这个:

Sub DeleteDuplicateEntries() Dim Cell As Range, Cel As Range, N& Application.ScreenUpdating = False N = 0 For Each Cell In Selection ' ignore empty cells If Cell <> Empty Then For Each Cel In Selection 'compare non-empty cel values 'and clear contents if duplicated value If Cel <> Empty And _ Cel.Value = Cell.Value And _ Cel.Address <> Cell.Address Then Cel.ClearContents N = N + 1 End If Next Cel End If Next Application.ScreenUpdating = True End Sub 

问题:它最终删除每个Zip文件名(不是第一个),但它不会删除行:(

试试这个小macros:

 Sub rowKiller() Dim N As Long, i As Long N = Cells(Rows.Count, "B").End(xlUp).Row For i = N To 2 Step -1 If Cells(i, "B").Value = Cells(i, "C").Value Then Cells(i, "B").EntireRow.Delete End If Next i End Sub