Excel VBA实例教程#032:删除工作表的重复行

更新时间:2023-11-23 06:43:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

在实际应用中,可能需要删除如图 1所示的工作表中A列的重复内容而只保留一行,那么可以借助工作表CountIf函数来完成,如下面的代码所示。

图 1 需删除重复行的工作表区域

1. Sub DeleteRow() 2. Dim R As Integer 3. Dim i As Integer 4. With Sheet1

5. R = .[a65536].End(xlUp).Row 6. For i = R To 1 Step -1

7. If WorksheetFunction.CountIf(.Columns(1), .Cells(i, 1)) > 1 Then 8. .Rows(i).Delete 9. End If 10. Next

11. End With 12. End Sub

代码解析:

DeleteRow过程删除工作表A列重复单元格所在的整行内容,只保留一行。

第5行代码取得工作表中A列的最后一个非空单元格的行号,关于Range对象的End属性请参阅技巧3 。

第6行到第10行代码从最大行数至最小行数循环判断A列单元格内容是否重复并删除重复单元格所在的整行。和技巧32 一样,此处For...Next循环也要从最大行数至最小行数开始循环判断,否则可能会删除不净。其中第7、8行代码使用工作表CountIf函数判断单元格内容是否重复,如果重复则删除该单元格所在的行。 运行DeleteRow过程工作表区域如图 2所示。

图 2 删除重复行的工作表区域

本文来源:https://www.bwwdw.com/article/noyt.html

Top