小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

VBA學(xué)習(xí)實(shí)踐——用VBA實(shí)現(xiàn)Excel格數(shù)據(jù)分列功能

 L羅樂 2018-10-07

   前一段時(shí)間在網(wǎng)上看到有人提問怎么將儲(chǔ)存在單元格內(nèi)的以逗號(hào)作為分割符的多個(gè)字符串提取到多個(gè)單元格中,大概的效果如下圖

   解決這個(gè)問題最簡單的方法就用Excel數(shù)據(jù)分列的方法,選定區(qū)域,在數(shù)據(jù)選項(xiàng)中找到并單擊分列選項(xiàng)。

   但是在數(shù)據(jù)量非常大的情況下,用VBA的方法可能是效率最高的,代碼分享如下:


Sub 字符串分裂()

Dim rg As Range, i As Integer, ncol As Integer, k As Integer, r As Integer

Dim arr

ncol = Selection.Column 1

nrow = Selection.row

r = nrow

For Each rg In Selection

      k = 0

      arr = Split(CStr(rg.Value), ',')

’將單元格里的按逗號(hào)分割儲(chǔ)存在數(shù)組arr中

      For i = ncol To UBound(arr) ncol    

      Cells(r, i) = arr(k)

      k = k 1

Next

r = r 1

Next

End Sub


   這里主要用到了split()函數(shù)的功能,split函數(shù)可以將指定字符串按照指定的字符分割成多個(gè)字符串,在語句arr=split(CStr(rg.Value),”,”) 中,split的第一個(gè)參數(shù)CStr(rg.Value)是單元格的值,具體來說是轉(zhuǎn)化成字符形式的單元格內(nèi)容,因?yàn)閟plit函數(shù)第一個(gè)參數(shù)必須是字符類型,所以為了保證這一點(diǎn),先用CStr()將單元格的值rg.Value轉(zhuǎn)化為字符類型。第二參數(shù)設(shè)置分隔符,這里是“,”,即英文狀態(tài)下的逗號(hào)。Split還有兩個(gè)參數(shù),這里省略了,關(guān)于split函數(shù)詳細(xì)的介紹請(qǐng)參考百度。

    我們只要在原代碼中修改split函數(shù)中,第二個(gè)參數(shù)的值,(即分隔符)來達(dá)到按不同分隔符分割字符串的目的,例如我們?cè)谠a中修改arr = Split(CStr(rg.Value), ',')語句,將其改為arr = Split(CStr(rg.Value), ' ') 就可以實(shí)現(xiàn)按空格分 割。操作如下:

    好啦今天的分享結(jié)束啦,感謝小伙伴們的聆聽!

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多