【发布时间】:2021-10-16 07:47:42
【问题描述】:
尝试搜索整个范围,并删除 B 列中没有重复的所有内容。
试试下面的代码
lastrow = logSheet.Cells(Rows.Count, 1).End(xlUp).Row
For r = 2 To lastrow
If logSheet.Cells(r, 2).Value <> logSheet.Cells(r + 1, 2).Value Or logSheet.Cells(r, 2).Value <> logSheet.Cells(r - 1, 2).Value Then
logSheet.Rows(r).EntireRow.Delete
End If
Next
以上只是保留其中一个重复,而不是两个。
我确定我错过了一些简单的东西,但我只是不停地放屁!
【问题讨论】:
-
删除一行后,后续行数会发生变化。因此,您必须从底部开始搜索,这样当您删除最后一行时,下面行号的更改不会影响宏的工作。
-
啊,当然!我完全略过它!编辑:刚刚将步骤 -1 放入其中,现在它会删除所有内容!
标签: excel vba duplicates