利用excel VBA删除工作表中的重复行

网友投稿 566 2022-12-03

利用Excel VBA删除工作表中的重复行

如果要在Excel中用VBA的方法以根据某列内容删除重复的行,即当某列有重复数据时仅保留一行,可以用下面的VBA代码。假如以A列为参考,工作表的第一行为标题行,数据从第二行开始。

方法一:用工作表函数CountIf判断该行是否重复

利用excel VBA删除工作表中的重复行

Sub 删除重复行1()Dim i As LongApplication.ScreenUpdating = FalseFor i = Range("A65536").End(xlUp).Row To 3 Step -1If WorksheetFunction.CountIf(Range("A2:A" & i), Cells(i, 1)) > 1 ThenCells(i, 1).EntireRow.deleteEnd IfNextApplication.ScreenUpdating = TrueEnd Sub

方法二:先高级筛选,再删除隐藏行

Sub 删除重复行2()Dim rCell As Range, rRng As Range, dRng As RangeOn Error Resume NextApplication.ScreenUpdating = FalseSet rRng = Range("A1:A" & Range("A65536").End(xlUp).Row)rRng.AdvancedFilter Action:=xlFilterInPlace, unique:=TrueFor Each rCell In rRngIf rCell.EntireRow.Hidden = True ThenIf dRng Is Nothing ThenSet dRng = rCell.EntireRowElseSet dRng = Application.Union(dRng, rCell.EntireRow)End IfEnd IfNextIf Not dRng Is Nothing Then dRng.deleteActiveSheet.ShowAllDataApplication.ScreenUpdating = TrueEnd Sub

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:excel VBA按字母表顺序对工作表进行排序
下一篇:excel的VBA程序能否调用EXCEL函数呀?
相关文章