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
分列操作在實際應用中真的很有大用處,如果應用得當,會將很多簡單而又重複的工作變得十分輕鬆。這不是假話,一定要學會。
歡迎關注、收藏