浏览量:128次
表格分列在Excel应用中使用不是很普遍,至少在一些初学者操作当中并不了解。
甚至对于表格列的概念都感觉十分模糊,那么,什么是表格分列?会不会和表格拆分混淆呢?
本节介绍一下表格如何分列,应用VBA代码对表格如何进行分列操作。
NO.2什么是分列
简单来讲就是把一列表格分成多列表格。
深入来说要把一列表格的内容拆分成多列,分别填充到多列表格里面。
比如一个单元格内保存着一个电话号码:86-010-1234567,其包含国家代码-地区代码-电话代码,三个部分。
想要把这个三个部分分别保存到不同的单元格里,怎么办?
Ctrl C粘贴、Ctrl V复制,还是手动输入?
这样也可以,但是如果有几万个这样的数据,依然要粘贴\复制吗,手动输入显然很愚蠢。
这就需要分列操作。
很简单,使用如下代码:
Range("B3:B100").Parse"[xxx][xxxxxxx]",Range("C3")假定电话保存在B3:B100单元格。
执行之后,就把国家代码、区号、电话号码分别填充到以C3开始的单元格里了。
如下图:
NO.3Parse方法官方说明
分列区域内的数据并将这些数据分散放置于若干单元格中。 将区域内容分配于多个相邻接的列中;该区域只能包含一列。
语法
Range.Parse(ParseLine,Destination)
具体参数如下图:
NO.4示例
本示例以电话号码为分列对象,把区号和电话分别拆分到两列当中。
其实掌握要点之后,使用还是十分简单的。
下面介绍一下参数重点。
参数ParseLine:
包含方括号的字符串,用以指明在何处拆分单元格。
如[XXX] [XXXXXXX]指明了前3位和后7位字符要拆分出来,用“[]”括起来,中间要加空格。
一定要加空格不然,会得到一个错误。
参数Destination:
一个代表用于放置分列数据的目标区域的左上角的 Range 对象。 如果省略该参数,Microsoft Excel 将在原处进行分列。
意思就是拆分后的数据,保存数据位置的左上角单元格对象。
实际上就是确定拆分后的数据要保存的左上角位置。
多做一些练习就会明白。
NO.5示例代码
本示例以拆分电话号码86-010-1234567为例,分别将拆分后的数据保存到其下一列单元格。
PrivateSubParseRange()DimParseRangeAsRange,RAsRangeSetParseRange=SelectionForEachRInParseRangeIfVBA.Len(R)=0ThenGoToNex100WithR.Parse"[XX][XXX][XXXXXXX]",.Offset(0,1)With.Offset(0,1).Formula="=Text("&.Value&","&"""00"")"EndWithWith.Offset(0,2).Formula="=Text("&.Value&","&"""000"")"EndWithWith.Offset(0,3).Formula="=Text("&.Value&","&"""0000000"")"EndWithEndWithNex100:NextREndSub如发现上面的代码比较难理解可以使用如下代码:
Range("b3:b100").Parse"[xx][xxx][xxxxxxx]",Range("c3")此行代码将B3:B100列数据拆分为三个字符,字符长度分别为2、3、7,也就是国家代码、区号和电话号码长度,然后依次保存到C3开始的单元格里。
NO.6分列操作在实际应用中真的很有大用处,如果应用得当,会将很多简单而又重复的工作变得十分轻松。这不是假话,一定要学会。
欢迎关注、收藏
[声明]本网转载网络媒体稿件是为了传播更多的信息,此类稿件不代表本网观点,本网不承担此类稿件侵权行为的连带责任。故此,如果您发现本网站的内容侵犯了您的版权,请您的相关内容发至此邮箱【779898168@qq.com】,我们在确认后,会立即删除,保证您的版权。