本文内容是讲Excel工作表中的分列操作方法,也就是把一个单元格拆分为多个单元格的方法。
其实,菜单栏中有一个快速功能,在"数据"-"分列"中可以找到。
本文介绍如何使用代码实现分列操作。
首先认识一下Parse方法,此方法在Range对象下使用。
语法:
expression.Parse ( ParseLine_,Destination_)
如:
Range("A1").Parse "[xx] [xxx]",Range("B1")
如上代码即实现把A1单元格内容拆分后添加到两个单元中,以B1为开始和C1中添加内容,内容分别为B1前两个字符,C1为第4、5、6字符,第3个字符丢掉不用,如果希望使用,那就把中间的空格去掉,即"[xx][xxx]",这就可以实现分列结果。
具体方法如下图所示:
下面是我们做了一个示例,把电话号码的区号和主叫号分别拆分到后面的单元格中。
很显然,中间有一个"-"号,并不需要这个,所以以空格代替vba.space(1),也就是第5个字符。
代码:
Private Sub 拆分电话号码()
Dim xR As Range, R As Range
Set xR = Range("B3:B20")
For Each R In xR
If Not VBA.Len(VBA.Trim(R.Value)) = 0 Then
R.Parse "[xxxx]" & VBA.Space(1) & "[xxxxxxxx]", R.Offset(0, 2)
R.Offset(0, 2).NumberFormat = "0000"
End If
Next R
End Sub
同理,如果要折分更多有意义的内容,根据其数据规则进行组合不同的拆分字符,其中要包含在"[ ]"中,"X"代表一个字符,实际上可以添加任何字符来代替,一个“X”代表一个字符," "代表不用某个字符。
END