tft每日頭條

 > 科技

 > excel怎麼把一個單元格内容拆分

excel怎麼把一個單元格内容拆分

科技 更新时间:2024-11-20 08:26:31
No.1

Excel拆分單元格内數據是一個高級技能,一般情況下,很少這麼操作。

當然,會這個操作的人也很多。

首先,我們理解一下什麼是"拆分單元格數據",本節講的"拆分單元格"不是把一個列拆分為幾個列,而是以某種格式的分隔符為标志,把單元格内的數據分别拆開,然後添加到不同的單元格中。

excel怎麼把一個單元格内容拆分(如何拆分Excel單元格數據)1

這個操作同樣用到一個方法,很明顯,vba操作數據表格的時候,首要有個對象,然後就是對這個對象進行什麼樣的方法處理。

拆分單元格數據,用到Range對象,對象的方法是TextToColumns,意思就是将文本轉換為列。

方法參數如下圖所示:

excel怎麼把一個單元格内容拆分(如何拆分Excel單元格數據)2

No.2

這個方法參數比較多,但是應用的時候,不會全部寫出來,畢竟使用到的僅僅是某些。

語法:

Range.TextToColumns(Destination、 DataType、 TextQualifier、 ConsecutiveDelimiter、 Tab、Semicolon、Comma、Space、 Other、 OtherChar、 FieldInfo DecimalSeparator、 ThousandsSeparator、 TrailingMinusNumbers)

excel怎麼把一個單元格内容拆分(如何拆分Excel單元格數據)3

方法它執行之後,會将拆分的數據,默認依次放到被拆分單元格之後。

如上圖所示,粉色部分為被拆分數據,拆分之後的數據就保存到之後淺灰色單元格内。

這功能在應用中,常常用到将一些混合的數據進行分列處理。

比如,有一列數據,裡面有姓名、年齡、身份證号、地址,四個關鍵字内容。

要分别把這四個内容放到不同列裡面,就用這個方法來實現。

其中,這四個關鍵字之間要有一個分隔符,一般有空格,逗号,Tab制表符,分号等字符。

當然,如果不喜歡這些字符,也可以自定義分隔符。

使用Other=True,和OtherChar來定義分隔符。

注意:

如果Other指定為True,那麼OtherChar參數就為必填項目,同時使用。

參數:Destination定義了被拆分後的數據存放地址。

No.3

下實例操作演示:

excel怎麼把一個單元格内容拆分(如何拆分Excel單元格數據)4

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---

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved