最近在学习杨洋老师的《全民一起VBA》,大家也可以去学习,这是我见过最好的VBA教程,深入浅出非常易懂。
今天做了VBA在同一列中双循环的练习,题目如下:
将同一列中的重复数清除,我使用了FOR循环解决这个问题:
使用FOR循环则必须指明起止位置,普适性不高,所以又用WHILE循环做了一个,思路是先找出重复项,将其字体标为红色,再将红色字体的单元格全部删除:
但这段依然指定了程序查找的范围,其实也可以将set rg = range(“B1:B20”)改为 set rg = range(“B:B”),不过实测运行效率极低,会卡住一会儿。
查看了杨老师的答案,他的思路是使用WHILE循环,每查到一个重复的即删除之,然后将下一行上移。删除单元格并将下方单元格上移的操作方法可以通过录制宏来获得。贴出杨老师的答案参考下: