下图是数据源,里边有很多空行。现在的要求是把这些空行批量地删除掉。对于这个问题,相信大部分小伙伴都会做。可以用基础操作来做,也可以用vba代码来做,各有各的好处。
基础操作
先来看下基础操作,可以用【定位】功能来完成。
首先选中数据区域,然后按CTRL+G或者是F5,调出定位对话框,选择【定位条件】-【空值】,点确定。这样空行就被选中了。再在空行的单元格上单击右键,点击【删除】-【整行】,确定,就ok了。
vba代码
如果你觉得每次都要手工操作一遍,太麻烦了。那么可以录制一个宏,把这些操作过程用代码记录下来。下次就可以调用代码,自动执行相同的操作。
录制宏的方法也比较简单,点【开发工具】-【录制宏】,就准备记录操作步骤了,你每操作一步,excel就会用代码记录下来。现在只需把之前删除空行的步骤再操作一遍就可以了。操作完后,再点【开发工具】-【停止录制】,就录制完成了。
然后,按下图的操作把录制好的宏代码找到,发现只有3句代码。当然这3句代码主要还是用的定位功能。录制的宏代码一般比较死板,不如自己写的智能。可以改为下面的2句。效果如下,此时数据量比较少,用定位的方法还是很快的,只用了0.1秒。当数据量比较大时,用定位的方法就有点慢了。2万多条数据用了54秒。此时就可以考虑用数组了。用数组的话,只用了0.66秒。差了好几十倍的时间。
https://pan.baidu.com/s/1u0EVvajswSe6-u6-b5stGA