VBA早间档
VBA早间档,利用简单的几分钟,学习一些简单的VBA知识,提升工作效率
今日主题
今天我们继续来学习一些轻松简单的东西,之前我们学习了用split来拆分文本,那今天就来介绍下如何去除文本中无处不在,或隐或现的空格
案例展示和解析
这里今天我们要操作的工作表,很明显的,文本参差不齐,有些两边有空格,有些中间有空格,还有一些左边或者右边有空格,这样的文本让我们处理起来都非常的不舒服,来看看用代码如何轻松处理
代码区
去除左边空格
Sub kong1()Dim rng As RangeFor Each rng In Selection rng.Offset(0, 1) = LTrim(rng)Next rngEnd Sub
非常的简单,关键点只有一个
LTrim,去除左边的空格,同样的还有一个相对的
RTrim,去除右边的空格
最终效果如下
可以看到原来左边的空格,都已经没有了,单元格左边看起来非常的整齐
一次只能去处一边的空格,如果两边都有岂不是要执行两次代码,那么有没有更省事一点的方法呢?有
同时去除两边的空格
Sub kong2()Dim rng As RangeFor Each rng In Selection rng.Offset(0, 2) = Trim(rng)Next rngEnd Sub
最终效果如下
看起来似乎没有太大的区别,我们抽取一个来看看,第6行
实现的方法全部依赖trim(),他的作用就是将字符串两边的空格全部去掉,等于是实现了上面Ltrim+Rtrim的效果
去除中间的空格
既然前后左右的空格都能去除了,那么中间还残留的那个空格就太显眼了,能去掉嘛?
Sub kong3()Dim rng As Range, s$For Each rng In Selection rng.Offset(0, 3) = Replace(rng, "