怎样把一个单元格内容拆分到多个单元格,这篇文章讲的明明白白

本文内容是讲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 RangeSet xR = Range("B3:B20")For Each R In xRIf Not VBA.Len(VBA.Trim(R.Value)) = 0 ThenR.Parse "[xxxx]" & VBA.Space(1) & "[xxxxxxxx]", R.Offset(0, 2)R.Offset(0, 2).NumberFormat = "0000"End IfNext REnd Sub
怎样把一个单元格内容拆分到多个单元格,这篇文章讲的明明白白

同理,如果要折分更多有意义的内容,根据其数据规则进行组合不同的拆分字符,其中要包含在"[ ]"中,"X"代表一个字符,实际上可以添加任何字符来代替,一个“X”代表一个字符 , " "代表不用某个字符 。

END

相关经验推荐