Excel怎么把一个单元格数据拆分(如何拆分表格中的单元格)

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

下实例操作演示:

Private Sub TextToColumnsChange()
Application.DisplayAlerts = False
Dim xValue As String
xValue = InputBox("数据输入", "请输入数据:", "This is a TextToColumn List.")
If VBA.Len(VBA.Trim(xValue)) = 0 Then Exit Sub
Dim cell As Range
Set cell = ActiveSheet.Range("B2:B10")
With [A1].Offset(2, 0).Resize(cell.Rows.Count, UsedRange.Cells.Columns.Count   1)
    .Clear '清除原数据内容
End With
With cell.Item(1).Offset(0, 1) '清除原拆分内容
    .Select
    .UnMerge
    Selection.Clear
End With
With cell.Item(1) '添加表头
    .Value = "数据内容"
    .HorizontalAlignment = xlCenter
    .Interior.Color = RGB(221, 92, 255)
    .Borders.LineStyle = 1
    .Columns.AutoFit
End With
With 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 With
End 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 = 1
End With
'合并表头
cell.Cells(1, 2).Resize(1, cell.Cells(2, 1).End(xlToRight).Column - cell.Cells(2, 1).Column).Merge
With cell.Item(1).Offset(0, 1)
    .Value = "拆分后内容"
End With
Application.DisplayAlerts = True
End Sub

本例有一些比较复杂的地方,代码较多,看上去不太友好。

其功能是,在一个输入框内输入一串以空格为间隔的字符串,然后将这个字符串拆分后放置到多列单元内。

其中,只简单使用了TextToColumns Space:=True来实现拆分。

本行代码意思是以空格作为拆分字符。

其它字符:

TextToColumns Tab:=True'制表符Tab

TextToColumns Semicolon:=True'分号

TextToColumns Comma:=True'逗号

本例就讲这些,对于如何针对表格单格进行拆分,以后再做一个表格来进行演示。

欢迎关注、收藏。

---END---

(0)

相关推荐

  • excel表格中的单元格有下拉选项怎么删除

    Excel是我们常用的表格软件之一,有些小伙伴问表格中的单元格有下拉选项怎么删除,下面小编就来介绍一下.具体如下:1. 打开一个编辑过的excel,如图,小编已经在d列的单元格中设置了下拉选项2. 然 ...

  • 如何隐藏excel表格中的单元格数据

    今天给大家介绍一下如何隐藏excel表格中的单元格数据的具体操作步骤.1. 首先打开电脑,找到想要编辑的Excel表格打开或者新建一个Excel表格打开都可以.2.小编选择新建一个,然后在里面输入一些 ...

  • Excel怎么将单元格数据分列并粘贴到一列单元格

    Excel是现在十分常用的一款办公软件,有些新用户不知道怎么将单元格数据分列并粘贴到一列单元格,接下来小编就给大家介绍一下具体的操作步骤.具体如下:1. 首先第一步先打开电脑中的Excel文档,接着根 ...

  • Excel表格中指定单元格的数据如何隐藏和恢复

    有的时候表格中的一些数据不想被其他人看到,但也不想删掉,想隐藏起来,那么Excel表格中指定单元格的数据如何隐藏?接下来我们就来看看如何隐藏,同时也要看看如何恢复的! 隐藏Excel表格中指定单元格的 ...

  • 怎么将手机wps excel表格中的单元格合并起来

    现如今,越来越多的电脑软件都推出了手机版,例如我们可以在手机中下载wps 软件,那么如何合并excel中的单元格呢?接下来就由小编来告诉大家.具体如下:1. 第一步,打开手机中的wps应用,进入主页后 ...

  • excel表格中双击单元格不能直接编辑修改怎么办?

    excel是我们常用的办公软件,有时需要更改一些数据,那么excel表格中双击单元格不能直接编辑修改怎么办?下面和小编一起来看看解决方法,希望对大家有所帮助. 解决方法: 单击“office”按钮. ...

  • excel表格中错误单元格打印为空白是如何设置的

    今天给大家介绍一下excel表格中错误单元格打印为空白是如何设置的具体操作步骤.1. 双击打开我们输入了一些数据的excel表格之后,然后选择上方工具栏上的页面布局想象力.2. 接着选择打印标题.3. ...

  • 怎么在Excel表格中限制单元格的输入位数

    今天给大家介绍一下怎么在Excel表格中限制单元格的输入位数的具体操作步骤.1. 首先打开电脑,在桌面找到Excel图标双击打开.2. 接着我们输入一些文字,然后选中其中一整列.3. 然后我们选择工具 ...

  • Excel表格中的单元格无法输入数据如何解决

    我们经常会选择Excel表格来处理数据,在使用的时候,若遇到某个单元格无法输入数据,该如何处理呢?今天就跟大家介绍一下Excel表格中的单元格无法输入数据的具体解决方法.1. 我们打开电脑上的Exce ...

  • 如何在Excel表格中设置单元格的输入长度

    今天给大家介绍一下如何在Excel表格中设置单元格的输入长度的具体操作步骤.1. 首先打开电脑上想要设置的Excel表格,在打开的表格中,将需要设置长度的单元格选中.2. 然后点击上方的数据---数据 ...