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

Parse方法官方說明

分列區域內的資料並將這些資料分散放置於若干單元格中。 將區域內容分配於多個相鄰接的列中;該區域只能包含一列。

語法

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 RangeSet ParseRange = SelectionFor 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 WithNex100:Next REnd Sub

如發現上面的程式碼比較難理解可以使用如下程式碼:

Range("b3:b100").Parse "[xx] [xxx] [xxxxxxx]", Range("c3")

此行程式碼將B3:B100列資料拆分為三個字元,字元長度分別為2、3、7,也就是國家程式碼、區號和電話號碼長度,然後依次儲存到C3開始的單元格里。

NO.6

分列操作在實際應用中真的很有大用處,如果應用得當,會將很多簡單而又重複的工作變得十分輕鬆。這不是假話,一定要學會。

歡迎關注、收藏