前景提要(文末提供源码下载)
昨天我们分享了如何删除数据间的各种各样的空行,那么我们今天专一点,我们不针对一整行了, 我们针对某个空格,昨天的数据还是算是比较的规范的,来看看今天的数据,离谱到不可理喻!
场景说明
看到这样的数据分布,你是不是想要打人!数据看起来不整齐,计算也不方便,用我的同事的话说看着就是碍眼,那么我们来尝试清洗下这样的数据,将这些空白单元格直接去掉。
代码区
Sub kongh()With ActiveSheet.UsedRange .SpecialCells(xlCellTypeBlanks).Select Selection.DeleteEnd WithEnd Sub
简不简单,你以为需要很多的代码?不!
你以为还需要遍历整个数据区域,然后判断为空嘛?其实那个方法也是正确的,不过可能比较慢,今天来看看这个方法
其实有点说偏了,这些应该算是单元格的操作,应该是在下一个系列的,不过,这里用到了就正好说下吧
先来看看结果
最终效果就是这样的,所有的空格都已经消失不复存在了,并且非常的迅速果断的就完成了,非常的快捷
代码解析
那么这样的代码是否会很难理解呢?
不会,我们来看看代码
With ActiveSheet.UsedRange****End With
想必大家都非常的熟悉了,在整个工作表的使用区域进行操作,当然实际工作中,大家可能需要针对局部区域的话,就稍微修改下代码就好,可以用我们之前学习过的inputbox方法来实现对单元格的选择
然后就是今天的关键代码了
.SpecialCells(xlCellTypeBlanks).Select
SpecialCells在VBA中是用来对一些特殊形式的单元的个选择的,可以用来选择
- 筛选后的可见单元格
- 含有公式的单元格
- 非空单元格
- 空白单元格
- 等
具体的套路,我们下一系列分享到单元格的时候,在详细说下,这里我们可以先记住这样的写法,通过这个方法可以直接实现对于空白单元格的选择
然后执行删除就可以了。
代码看起来非常的简单,去可以实现我们需要花费很长时间才可以实现的效果,这也就是VBA真正的价值所在!
================================
需要案例源码的小伙伴后台私信“7-67”,明天19:00不见不散~