在Excel中拆分單元格中的數(shù)據(jù)是一項高級技能,。一般很少做,。
當(dāng)然,有很多人可以做到這一點,。
首先,,我們來了解一下什么是‘拆分單元格數(shù)據(jù)’。本節(jié)所說的‘拆分單元格’并不是將一列拆分成幾列,,而是以某種格式的分隔符作為符號,,然后將一個單元格中的數(shù)據(jù)分開,添加到不同的單元格中,。
此操作還使用了一個方法,。很明顯,vba在操作數(shù)據(jù)表的時候,,首先是有一個對象,,然后是用什么樣的方法來處理這個對象。
要拆分單元格數(shù)據(jù),,使用Range對象,,該對象的方法是TextToColumns,這意味著將文本轉(zhuǎn)換為列,。
參數(shù)如下圖所示:
這個方法有很多參數(shù),,但是應(yīng)用的時候不會全部寫出來,。畢竟只是用了一些,。
語法:
范圍。TextToColumns(目的地,、數(shù)據(jù)類型,、文本限定符、連續(xù)分隔符,、制表符,、分號,、逗號、空格,、其他,、其他字符、字段信息十進(jìn)制分隔符,、千位分隔符,、TrailingMinusNumbers)
執(zhí)行該方法后,默認(rèn)情況下,,拆分的數(shù)據(jù)將放置在拆分的單元格之后,。
如上圖所示,粉色部分是拆分后的數(shù)據(jù),,拆分后的數(shù)據(jù)保存在后面的淺灰色單元格中,。
在應(yīng)用中,這個函數(shù)經(jīng)常用來對一些混合數(shù)據(jù)進(jìn)行排序,。
例如,,有一列數(shù)據(jù),包含姓名,、年齡,、身份證號、地址和四個關(guān)鍵字,。
為了將這四個內(nèi)容放在不同的列中,,使用了這個方法。
其中,,這四個關(guān)鍵字之間應(yīng)該有分隔符,,一般包括空格、逗號,、制表符,、分號等字符。
當(dāng)然,,如果你不喜歡這些字符,,你也可以自定義分隔符。
使用Other=True和OtherChar來定義分隔符,。
注意:
如果將Other指定為True,,則需要OtherChar參數(shù)并同時使用。
參數(shù):Destination定義拆分?jǐn)?shù)據(jù)的存儲地址,。
下面舉例操作演示:
PrivateTextToColumnChange()application . display alerts=false dim xvalue as string x value=InputBox(' data input ''請輸入數(shù)據(jù):''這是一個TextToColumn列表,。')如果VBA。萊恩(VBA。Trim(xValue))=0,,然后以RangeSet cell=ActiveSheet的形式退出SubDim單元,。使用[A1]的范圍(' B2:B10 ')。偏移量(2,,0),。resize (cell.rows.count,used range.cells.columns.count1),。' clear '清除以cell.item (1)結(jié)尾的原始數(shù)據(jù)內(nèi)容,。offset (0,1)'清除原始拆分內(nèi)容,。select . unmerge selection . clear end with with cell . item(1)Add header,。值=“數(shù)據(jù)內(nèi)容”。horizontal alignment=XL center . interior . color=RGB(221,,92,,255). borders . line style=1 . columns . autofit end with cell。Offset(1,,0)'添加原始數(shù)據(jù)內(nèi)容,。clear contents . value=x value . horizontal alignment=XL center . interior . color=RGB(221,92,,255). borders . line style=1 . columns . autofit With,。偏移量(0,1),。值=,。' Offset(0,-1). value . textto columns :=true '拆分?jǐn)?shù)據(jù)內(nèi)容并使用cell.offset (0,,1)拆分內(nèi)容的格式填充后端,。resize (cell.rows.count1,cell.cells (2,,1)),。End(xlToRight)。列單元格,。單元格(2,,1)。專欄)‘我,。細(xì)胞(3,,我。Cells.Columns.Count),。End(xlToLeft),。Column - 2)。RowHeight=28,。horizontal alignment=XL center . interior . color=RGB(221,,223,25),。borders.linestyle=1以' merge header cell.cells (1,,2)結(jié)尾。resize (1,,cell.cells (2,,1)。end (xltoright),。column-cell.cells (2,,1)。列),。mergewithcell.item (1),。偏移量(0,1),。value='拆分內(nèi)容'以應(yīng)用程序結(jié)束,。displayalerts=trueendsub
這個例子有些復(fù)雜的地方,代碼很多,,看起來不友好,。
它的作用是在一個輸入框中輸入一串由空格分隔的字符串,然后將字符串拆分,,放入一個多欄單元格中,。
其中只有TextToColumns Space:=True是簡單地用來實現(xiàn)拆分的。
這行代碼意味著空格被用作拆分字符,。
其他字符:
“TextcolumnTab:=true”選項卡選項卡
' Textcolumns semicolon3360=true '分號
TextToColumns Comma:=True '逗號
這個例子就是這樣,。關(guān)于如何拆分表格單元格,稍后制作表格進(jìn)行演示,。
官方微信
TOP