前景提要(文末提供源碼下載)
昨天我們分享了用vba來(lái)實(shí)現(xiàn)按照指行數(shù)寫(xiě)入同一行數(shù)據(jù)的方法,在某種程度適應(yīng)了一些小伙伴的工作需要,不過(guò)還是那句話,做數(shù)據(jù)匯總的,總要面對(duì)各種千奇百怪的數(shù)據(jù)源,今天有小伙伴們給我發(fā)來(lái)一個(gè)問(wèn)題,是這樣的
希望能夠是現(xiàn)在寫(xiě)入的過(guò)程中,按照指定的分隔符,也就是逗號(hào)“,”來(lái)進(jìn)行分割,一行數(shù)據(jù)就寫(xiě)在同一行
場(chǎng)景簡(jiǎn)介
其實(shí)如果是單個(gè)文件,數(shù)據(jù)量不是很大的話,上面的情況可以通過(guò)導(dǎo)入/寫(xiě)入數(shù)據(jù)之后,在進(jìn)行分列這樣子實(shí)現(xiàn)效果的,如果按照我們之前的代碼進(jìn)行寫(xiě)入的話,也是需要再次操作數(shù)據(jù)的分列的,那么是否能夠通過(guò)vba代碼一次到位呢?
代碼區(qū)
sub test()
dim pathn
pathn = activeworkbook.path
with application.filedialog(msofiledialogfilepicker)
if .show = -1 then
f = .selecteditems(1)
end if
end with
i = cells(rows.count, 1).end(xlup).row
workbooks.opentext _
filename:=f, _
startrow:=1, _
datatype:=xldelimited, _
other:=true, _
otherchar:=,, _
fieldinfo:=array(array(1, 5))
activeworkbook.saveas filename:=txt, fileformat:=xlopenxmlworkbook, createbackup:=false
end sub
細(xì)心的小伙伴們會(huì)發(fā)現(xiàn),本節(jié)的代碼和之前的代碼有有很大的差異了。因?yàn)槲覀円凑贞P(guān)鍵的拆分符進(jìn)行拆分,之前的方法已經(jīng)沒(méi)有辦法滿(mǎn)足我們的需求了,所以這里我們要更新下方法
我們來(lái)看看代碼的運(yùn)行過(guò)程,首先選擇我們要復(fù)制拆分并且導(dǎo)入的文檔
然后我們就額可以坐等程序執(zhí)行了
成功的按照逗號(hào)為分隔符,將所有的數(shù)據(jù)在導(dǎo)入的同時(shí),進(jìn)行了拆分,等于將我們手工執(zhí)行的數(shù)據(jù)導(dǎo)入+數(shù)據(jù)分列,合并在一起執(zhí)行了,既省時(shí)又方便。
代碼分析
既然功能如此強(qiáng)大,那么我們來(lái)看看今天的代碼
其實(shí)今天的代碼關(guān)鍵部分在這里
workbooks.opentext _
filename:=f, _
startrow:=1, _
datatype:=xldelimited, _
other:=true, _
otherchar:=,, _
fieldinfo:=array(array(1, 5))
我們來(lái)具體說(shuō)下每句話的作用
filename代表指定需要輸入的txt的名字startrow指文件開(kāi)始輸入的列數(shù)datatype指定按照分隔符號(hào)對(duì)文本進(jìn)行分列other設(shè)置為true,代表的是文本進(jìn)行分開(kāi)的時(shí)候,是參照下面的otherchar指定的分隔符進(jìn)行分列的fieldinfo就比較的負(fù)責(zé)了關(guān)鍵代碼已經(jīng)備注了,相對(duì)于之前的一行一行的讀取,這一次是整個(gè)過(guò)程一次性讀取寫(xiě)入,明顯提速了很多
我們看到這一塊代碼是一個(gè)整體,在執(zhí)行完這一步之后,數(shù)據(jù)就已經(jīng)全部按照要求寫(xiě)入完成
非常的快。測(cè)試文件總共有2804行,一秒都不用就已經(jīng)完成了讀取和寫(xiě)入了。
=======================================================
本節(jié)課的案例源碼已經(jīng)上傳,需要的小伙伴們后臺(tái)私信“7-34-0”即可,希望大家多多支持~~
好了~明晚19:00,準(zhǔn)時(shí)再見(jiàn)。
倍加福 P+F 絕對(duì)值多圈編碼器
消毒液 散裝消毒液批發(fā) 越城化工專(zhuān)業(yè)直銷(xiāo)
歐馬可冷藏車(chē)價(jià)格_駕駛式全自動(dòng)冷藏車(chē)
永清國(guó)瑞生態(tài)城-ajly-dlw
衡水蒸發(fā)冷清洗除垢
Excel VBA 7.34 將TXT按指定分隔符寫(xiě)入Excel,一次完成導(dǎo)入+分列
野生動(dòng)物攝影師和那些動(dòng)物們 這組照片真的超治愈
固諾衣柜代理 固諾衣柜代理費(fèi)多少錢(qián) 電話多少
河北采石場(chǎng)日產(chǎn)五千方巖石劈裂機(jī)使用方法
聯(lián)方實(shí)驗(yàn)器材_茶葉農(nóng)殘檢測(cè)專(zhuān)用柱廠家
智能晾衣機(jī) wifi晾衣機(jī)
校園電視臺(tái)設(shè)計(jì)方案虛擬摳像系統(tǒng)
明珠廣場(chǎng) 整租 2室2廳1衛(wèi) 97平米(個(gè)人)
投資圣伯純精釀鮮啤支持力度大嗎?
熔融狀態(tài)下電纜的在線測(cè)徑儀器
共鴻供應(yīng) GCK型低壓抽出式成套開(kāi)關(guān)設(shè)備 廠家定制
濱江區(qū)吉利帝豪GL好嗎
開(kāi)家東方媽媽月子中心連鎖店一年能賺多少錢(qián)?
湖南 YH900N智能微型直流操作UP5電源
長(zhǎng)期供應(yīng) 春秋冬款英倫風(fēng)男裝不規(guī)則圓領(lǐng)大毛衣加厚針織衫潮批發(fā)