拆分单元格方法|如何拆分Excel单元格数据
Excel拆分单元格内数据是一个高级技能,一般情况下,很少这么操作。
当然,会这个操作的人也很多。
首先,我们理解一下什么是"拆分单元格数据",本节讲的"拆分单元格"不是把一个列拆分为几个列,而是以某种格式的分隔符为标志,把单元格内的数据分别拆开,然后添加到不同的单元格中。
这个操作同样用到一个方法,很明显,vba操作数据表格的时候,首要有个对象,然后就是对这个对象进行什么样的方法处理。
拆分单元格数据,用到Range对象,对象的方法是TextToColumns,意思就是将文本转换为列。
方法参数如下图所示:
No.2这个方法参数比较多,但是应用的时候,不会全部写出来,毕竟使用到的仅仅是某些。
语法:
Range.TextToColumns(Destination、 DataType、 TextQualifier、 ConsecutiveDelimiter、 Tab、Semicolon、Comma、Space、 Other、 OtherChar、 FieldInfo DecimalSeparator、 ThousandsSeparator、 TrailingMinusNumbers)
方法它执行之后,会将拆分的数据,默认依次放到被拆分单元格之后。
如上图所示,粉色部分为被拆分数据,拆分之后的数据就保存到之后浅灰色单元格内。
这功能在应用中,常常用到将一些混合的数据进行分列处理。
比如,有一列数据,里面有姓名、年龄、身份证号、地址,四个关键字内容。
要分别把这四个内容放到不同列里面,就用这个方法来实现。
其中,这四个关键字之间要有一个分隔符,一般有空格,逗号,Tab制表符,分号等字符。
当然,如果不喜欢这些字符,也可以自定义分隔符。
使用Other=True,和OtherChar来定义分隔符。
注意:
如果Other指定为True,那么OtherChar参数就为必填项目,同时使用。
参数:Destination定义了被拆分后的数据存放地址。
No.3下实例操作演示:
Private Sub TextToColumnsChange()Application.DisplayAlerts = FalseDim xValue As StringxValue = InputBox("数据输入", "请输入数据:", "This is a TextToColumn List.")If VBA.Len(VBA.Trim(xValue)) = 0 Then Exit SubDim cell As RangeSet cell = ActiveSheet.Range("B2:B10")With [A1].Offset(2, 0).Resize(cell.Rows.Count, UsedRange.Cells.Columns.Count + 1) .Clear '清除原数据内容End WithWith cell.Item(1).Offset(0, 1) '清除原拆分内容 .Select .UnMerge Selection.ClearEnd WithWith cell.Item(1) '添加表头 .Value = "数据内容" .HorizontalAlignment = xlCenter .Interior.Color = RGB(221, 92, 255) .Borders.LineStyle = 1 .Columns.AutoFitEnd WithWith cell.Offset(1, 0) '添加原数据内容 .ClearContents .Value = xValue .HorizontalAlignment = xlCenter .Interior.Color = RGB(221, 92, 255) .Borders.LineStyle = 1 .Columns.AutoFit With .Offset(0, 1) .Value = .Offset(0, -1).Value .TextToColumns Space:=True '拆分数据内容 并向后填充 End WithEnd With'设置拆分内容格式With cell.Offset(0, 1).Resize(cell.Rows.Count + 1, cell.Cells(2, 1).End(xlToRight).Column - cell.Cells(2, 1).Column) 'Me.Cells(3, Me.Cells.Columns.Count).End(xlToLeft).Column - 2) .Columns.AutoFit .RowHeight = 28 .HorizontalAlignment = xlCenter .Interior.Color = RGB(221, 223, 255) .Borders.LineStyle = 1End With'合并表头cell.Cells(1, 2).Resize(1, cell.Cells(2, 1).End(xlToRight).Column - cell.Cells(2, 1).Column).MergeWith cell.Item(1).Offset(0, 1) .Value = "拆分后内容"End WithApplication.DisplayAlerts = TrueEnd Sub
本例有一些比较复杂的地方,代码较多,看上去不太友好。
其功能是,在一个输入框内输入一串以空格为间隔的字符串,然后将这个字符串拆分后放置到多列单元内。
其中,只简单使用了TextToColumns Space:=True来实现拆分。
本行代码意思是以空格作为拆分字符。
其它字符:
TextToColumns Tab:=True'制表符Tab
TextToColumns Semicolon:=True'分号
TextToColumns Comma:=True'逗号
本例就讲这些,对于如何针对表格单格进行拆分,以后再做一个表格来进行演示。
相关内容
-
多张图片怎么转换成pdf文件|多张图片合成一个pd
多张图片怎么转换成pdf文件|多张图片合成一个pdf文件的方法,...
-
ipconfig命令用法及其作用|Ipconfig和文件目录
ipconfig命令用法及其作用|Ipconfig和文件目录操作命令,作用,...
-
excel一列拆分成两列的方法|excel表格如何将一
excel一列拆分成两列的方法|excel表格如何将一列拆分成多列,...
-
电脑截屏长图怎么操作|?电脑屏幕截屏常见的几种
电脑截屏长图怎么操作|?电脑屏幕截屏常见的几种操作方法,截屏...
-
win7如何解除网速限制|解除win7系统下带宽网速
win7如何解除网速限制|解除win7系统下带宽网速限制的方法,解...
-
c盘空间不足怎么清理|清理电脑c盘空间最好的方
c盘空间不足怎么清理|清理电脑c盘空间最好的方法,清理,空间,...
-
如何删除空白页word文档|快速删除空白页word的
如何删除空白页word文档|快速删除空白页word的方法,删除空白...
-
黑暗之魂重制版攻略|黑暗之魂重制版全魔法的获
黑暗之魂重制版攻略|黑暗之魂重制版全魔法的获取方法,黑暗之...
-
苹果ibooks怎么用|苹果ibooks使用方法
苹果ibooks怎么用|苹果ibooks使用方法,使用方法,选择,操作,支...
-
怎么做电子版签名|用小程序做电子签名的方法
怎么做电子版签名|用小程序做电子签名的方法,电子签名,方法,...
-
dnf异界气息清除卷轴怎么做|dnf解除异界气息步
dnf异界气息清除卷轴怎么做|dnf解除异界气息步骤,异界,气息,...
-
ps怎么把图片里的颜色替换成另一种|PS快速给衣
ps怎么把图片里的颜色替换成另一种|PS快速给衣服换颜色的方...
-
微信怎么设置强提醒|微信强提醒设置方法
微信怎么设置强提醒|微信强提醒设置方法,提醒,设置,方法,微信...
-
王者荣耀竖着的名字怎么改|王者荣耀改名字的方
王者荣耀竖着的名字怎么改|王者荣耀改名字的方法最新,王者荣...
-
微信建群的方法|微信怎么建群
微信建群的方法|微信怎么建群,方法,微信怎么建群,建群,微信,...