前言:
而今看官们对“vba删除重复单元格内容”大致比较珍视,各位老铁们都想要分析一些“vba删除重复单元格内容”的相关资讯。那么小编也在网上搜集了一些对于“vba删除重复单元格内容””的相关内容,希望各位老铁们能喜欢,我们快快来了解一下吧!【分享成果,随喜正能量】人之所以烦恼,在于记忆;人之所以心累,在于徘徊;人之所以前行,在于感恩;人之所以快乐,在于豁达;人之所以成熟,在于看透;人之所以放弃,在于选择;人之所以宽容,在于理解;人之所以为人,在于感情;人之所以充实,在于过程;人之所以成功,在于勤奋;人之所以幸福,在于知足。
《VBA代码解决方案》这套教程是我最早推出的教程,目前已经是第二版修订了。这套教程定位于入门后的提高,在学习这套教程过程中,侧重点是要理解及掌握我的“积木编程”思想。要灵活运用教程中的实例像搭积木一下把自己喜欢的代码摆好。
这套教程共三册,一百四十七讲,内容覆盖较广,也是初级和中级间的过度教程,改版后的内容主要是提供程序源码文件及代码修正为32位和64位兼用代码。今后一段时间会给大家陆续推出。今日的内容是第24讲:如何利用VBA删除重复数据行
第二十四讲 EXCEL中,如何删除重复数据行
各位好,今天开始讲VBA代码解决方案的二十四讲:在EXCEL中,如何借助于代码来完成删除重复行的工作。其实在实际的工作中这个工作是经常用到的,判断有没有重复的数据,是EXCEL数据统计中非常重要的工作的工作之一,也是经常处理的工作之一。如果掌握了这个技巧,无形中会提高自己的工作效率,而且还可以提高工作的准确性。
1 应用场景的具体分析及Countif函数
实例:在实际应用中,可能需要删除工作表中A列的重复内容而只保留一行,如何来解决这个问题呢?可以借助工作表CountIf函数来完成.我们先来讲解一下Countif函数.
Countif函数: 是Microsoft Excel中对指定区域中符合指定条件的单元格计数的一个函数,在WPS,Excel2003和Excel2007等版本中均可使用。
语法规则如下:countif(range,criteria)
参数:
a) range 要计算其中非空单元格数目的区域
b) criteria 以数字、表达式或文本形式定义的条件
2 删除重复数据行的代码及代码解读
在讲解完这个函数后,我们来看代码:
Sub mynz_24() '第24讲 EXCEL中,如何删除重复数据行
Dim R As Integer
Dim i As Integer
With Sheets("24")
R = .[A65536].End(xlUp).Row
For i = R To 1 Step -1
If WorksheetFunction.CountIf(.Columns(1), .Cells(i, 1)) > 1 Then
.Rows(i).Delete
End If
Next
End With
End Sub
代码截图:
代码解析:mynz_24过程删除工作表A列重复单元格所在的整行内容,只保留一行。
1) 第5行代码取得工作表中A列的最后一个非空单元格的行号,要注意Range对象的End属性。不知读者是否已经掌握。
2) 第6行到第10行代码从最大行数至最小行数循环判断A列单元格内容是否重复并删除重复单元格所在的整行。和上一讲一样,此处For...Next循环也要从最大行数至最小行数开始循环判断,否则可能会删除不净。
3) 其中第7、8行代码使用工作表CountIf函数判断单元格内容是否重复,如果重复则删除该单元格所在的行。
运行前mynz_24过程工作表区域下截图:
运行后的截图:
运行的结果后,可以看到和预想的一样。
今日内容回向:
1 删除工作表中重复数据的思路是什么?
2 COUNTIF 的意义是什么?
3 上面代码中.Columns(1)的意义是什么?
本讲内容参考程序文件:VBA代码解决方案修订(1-48).xlsm
我20多年的VBA实践经验,全部浓缩在下面的各个教程中:
标签: #vba删除重复单元格内容