VBA tekst veergudesse

Lang L: none (table-of-contents)

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.

wave wave wave wave wave