See õpetus näitab teile, kuidas teisendada ühe lahtri tekstistring mitmeks veeruks, kasutades VBA meetodit Range TextToColumns
Tekst veergudesse
The Vahemik.TextToColumns meetod VBA -s on võimas tööriist näiteks teksti- või csv -failidest imporditud andmete puhastamiseks.
Mõelge järgmisele töölehele.
Andmed on Excelisse jõudnud ühes veerus ja on eraldatud jutumärkidega.
Nende andmete veergudeks eraldamiseks saate kasutada meetodit Vahemiku TextToColumns.
TextToColumns süntaks
väljendus.TextToColumns (Sihtkoht, Andmetüüp, TextQualifier, Järjestikune piiritaja, Tab, Semikoolon, Koma, Kosmos, Muu, MuuChar, FieldInfo, DecimalSeparator, Tuhanded eraldajad, TrailingMinusNumbers)
Väljendus
See on lahtrite vahemik, mida soovite jagada - nt: vahemik (“A1: A23”).
Kõik TextToColumns meetodi argumendid on valikulised (nende ümber on nurksulud).
Sihtkoht
Kuhu soovite tulemuse paigutada - sageli tühistate andmed ja jagate need samasse kohta.
Andmetüüp
Kasutatava teksti sõelumise tüüp - see võib olla ükskõik milline xlPiiratud (vaikimisi, kui see puudub) või xlFixedWidth.
TextQualifier
Kui teie jagatava teksti iga välja ümber on jutumärgid (ühe- või kahekordsed), peate märkima, kas need on ühe- või kahekordsed.
JäreldavDelimiter
See on kas tõene või vale ja käsib VBA -l kaaluda kahte samast eraldajat koos, nagu oleks see 1 eraldaja.
Tab
See on kas Tõsi kohta Vale, vaikimisi on Vale - see ütleb VBA -le, et andmed on piiritletud tabulaatoriga.
Semikoolon
See on kasTõsi kohta Vale, vaikimisi on Vale - see ütleb VBA -le, et andmed on piiritletud semikooloniga.
Kosmos
See on kas Tõsi kohta Vale, vaikimisi on Vale - see ütleb VBA -le, et andmed on piiritletud tühikuga.
Muu
See on kas Tõsi kohta Vale, vaikimisi on Vale. Kui määrate selle väärtuseks Tõene, siis järgmine argument MuuChar tuleb täpsustada.
MuuChar
See on märk, millega tekst eraldatakse (nt: või | näiteks).
FieldInfo
See on massiiv, mis sisaldab teavet eraldatavate andmete tüübi kohta. Massiivi esimene väärtus näitab andmete veeru numbrit ja teine väärtus konstanti, mida kasutate vajaliku andmetüübi kujutamiseks.
Teksti, numbrite ja kuupäevade andmetüüpe sisaldava viie veeru näide võib olla järgmine:
Massiiv (Massiiv (1, xlTextFormat), Massiiv (2, xlTextFormat), Massiiv (3, xlGeneralFormat), Massiiv (4, xlGeneralFormat), Massiiv (5, xlMDYFormat))
Teine viis selle määramiseks on:
Massiiv (Massiiv (1, 2), Massiiv (2, 2), Massiiv (3, 1), Massiiv (4, 1), Massiiv (5, 3))
Teises veerus olevad numbrid on nende konstantide väärtused, kus konstandi xlTextFormat väärtus on 2, xlGeneralFormat (vaikimisi) on 1 ja xlMDYFormat väärtus 3.
DecimalSeparator
Saate määrata kümnendkohtade eraldaja, mida VBA peab kasutama, kui andmetes on numbreid. Kui see välja jäetakse, kasutab see süsteemi sätteid, mis on tavaliselt periood.
Tuhanded eraldajad
Kui andmetes on numbreid, saate määrata tuhandete eraldaja, mida VBA peab kasutama. Kui see välja jätta, kasutab see süsteemiseadeid, mis on tavaliselt koma.
TrailingMinusNumbers
See argument on suures osas ühilduvuse jaoks andmetega, mis on loodud vanematest süsteemidest, kus miinusmärk oli sageli numbri järel ja mitte varem. Kui negatiivsete numbrite taga on miinusmärk, peaksite selle valima Tõene. Vaikimisi on vale.
Teksti teisendamine veergudeks
Järgmine protseduur teisendab ülaltoodud Exceli andmed veergudeks.
12345678910111213141516 | AlatekstToCol1 ()Vahemik ("A1: A25"). TextToColumns _Sihtkoht: = Vahemik ("A1: A25"),Andmetüüp: = xlDelimited, _TextQualifier: = xlDoubleQuote, _ConsecutiveDelimiter: = Tõsi, _Vahekaart: = vale, _Semikoolon: = vale, _Koma: = vale,Tühik: = Tõsi, _Muu: = vale, _FieldInfo: = massiiv (massiiv (1, 1), massiiv (2, 1), massiiv (3, 1), massiiv (4, 1), massiiv (5, 1)), _DecimalSeparator: = "." , _ThousandsSeparator: = ",", _TrailingMinusNumbers: = TõsiEnd Sub |
Ülaltoodud protseduuri käigus oleme täitnud kõik parameetrid. Paljud parameetrid on aga seatud väärtusele Väär või vaikeseade ja pole vajalikud. Ülaltoodud protseduuri puhtam versioon on toodud allpool. Peate parameetrite nimede abil näitama, milliseid parameetreid me kasutame.
1234567 | AlatekstToCol2 ()Vahemik ("A1: A25"). TextToColumns _Andmetüüp: = xlDelimited, _TextQualifier: = xlDoubleQuote, _ConsecutiveDelimiter: = Tõsi, _Tühik: = Tõsi,End Sub |
Tegelikult on vaja ainult 4 parameetrit - andmed on piiritletud kahekordse jutumärgiga, soovite, et järjestikuseid hinnapakkumisi käsitletaks ühena ja andmed eraldatakse tühikuga!
Veelgi kiirema koodirida jaoks võiksime parameetrite nimed välja jätta, kuid siis peaksime parameetri koha salvestamiseks komad panema. Teil on vaja sisestada teave ainult viimase kasutatava parameetrini - sel juhul tühik, mis eraldab andmed, mis on kaheksas parameeter.
123 | AlatekstToCol3 ()Vahemik ("A1: A25"). TextToColumns, xlDelimited, xlDoubleQuote, True,,,, TrueEnd Sub |
Kui olete mõne ülaltoodud protseduuri käivitanud, eraldatakse andmed vastavalt allolevale graafikule.