Excel如何把单元格数据分成多列,你还不会,这样做很简单 | 您所在的位置:网站首页 › 文本如何分成多列 › Excel如何把单元格数据分成多列,你还不会,这样做很简单 |
NO.1 表格分列在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为例,分别将拆分后的数据保存到其下一列单元格。 Private Sub ParseRange() Dim ParseRange As Range, R As Range Set ParseRange = Selection For Each R In ParseRange If VBA.Len(R) = 0 Then GoTo Nex100 With R .Parse "[XX] [XXX] [XXXXXXX]", .Offset(0, 1) With .Offset(0, 1) .Formula = "=Text(" & .Value & "," & """00"")" End With With .Offset(0, 2) .Formula = "=Text(" & .Value & "," & """000"")" End With With .Offset(0, 3) .Formula = "=Text(" & .Value & "," & """0000000"")" End With End With Nex100: Next R End Sub 如发现上面的代码比较难理解可以使用如下代码: Range("b3:b100").Parse "[xx] [xxx] [xxxxxxx]", Range("c3") 此行代码将B3:B100列数据拆分为三个字符,字符长度分别为2、3、7,也就是国家代码、区号和电话号码长度,然后依次保存到C3开始的单元格里。 NO.6分列操作在实际应用中真的很有大用处,如果应用得当,会将很多简单而又重复的工作变得十分轻松。这不是假话,一定要学会。 欢迎关注、收藏 |
CopyRight 2018-2019 实验室设备网 版权所有 |