分享
  • 收藏
  • 举报
    X

    excel表格怎样拆分单元格(手把手教你这3种拆分法)

    6
    0
    No.1 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 下实例操作演示: PrivateSub TextToColumnsChange()Application.DisplayAlerts=FalseDimxValue As StringxValue=InputBox("数据输入", "请输入数据:", "This is a TextToColumn List.")IfVBA.Len(VBA.Trim(xValue)) = 0 Then Exit SubDimcell As RangeSetcell = ActiveSheet.Range("B2:B10")With[A1].Offset(2, 0).Resize(cell.Rows.Count, UsedRange.Cells.Columns.Count + 1).Clear清除原数据内容EndWithWithcell.Item(1).Offset(0, 1) 清除原拆分内容.Select.UnMergeSelection.ClearEndWithWithcell.Item(1) 添加表头.Value="数据内容".HorizontalAlignment=xlCenter.Interior.Color=RGB(221, 92, 255).Borders.LineStyle=1.Columns.AutoFitEndWithWithcell.Offset(1, 0) 添加原数据内容.ClearContents.Value=xValue.HorizontalAlignment=xlCenter.Interior.Color=RGB(221, 92, 255).Borders.LineStyle=1.Columns.AutoFitWith.Offset(0, 1).Value=.Offset(0, -1).Value.TextToColumnsSpace:=True 拆分数据内容 并向后填充EndWithEndWith设置拆分内容格式Withcell.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=1EndWith合并表头cell.Cells(1,2).Resize(1, cell.Cells(2, 1).End(xlToRight).Column - cell.Cells(2, 1).Column).MergeWithcell.Item(1).Offset(0, 1).Value="拆分后内容"EndWithApplication.DisplayAlerts=TrueEndSub 本例有一些比较复杂的地方,代码较多,看上去不太友好。 其功能是,在一个输入框内输入一串以空格为间隔的字符串,然后将这个字符串拆分后放置到多列单元内。 其中,只简单使用了TextToColumns Space:=True来实现拆分。 本行代码意思是以空格作为拆分字符。 其它字符: TextToColumns Tab:=True制表符Tab TextToColumns Semicolon:=True分号 TextToColumns Comma:=True逗号 本例就讲这些,对于如何针对表格单格进行拆分,以后再做一个表格来进行演示。 欢迎关注、收藏。 ---END---  
    0
    赏钱
    收藏
    点击回复
        全部留言
    • 0
    更多回复
    恢复多功能编辑器
  • 3 1
  • 推荐内容
    扫一扫访问手机版