VBA tekstas į stulpelius

Ši pamoka parodys, kaip paversti vieno langelio teksto eilutę į kelis stulpelius, naudojant „Range TextToColumns“ metodą VBA

Tekstas į stulpelius

The diapazonas.TextToColumns metodas VBA yra galingas įrankis, skirtas išvalyti duomenis, importuotus, pavyzdžiui, iš teksto ar csv failų.

Apsvarstykite šį darbalapį.

Duomenys buvo įtraukti į „Excel“ viename stulpelyje ir yra atskirti kabutėmis.

Galite naudoti „Range TextToColumns“ metodą, kad atskirtumėte šiuos duomenis į stulpelius.

„TextToColumns“ sintaksė

išraiška.TextToColumns (Kelionės tikslas, Duomenų tipas, TextQualifier, Nuoseklusis ribotuvas, Skirtukas, Kabliataškis, Kablelis, Erdvė, Kiti, Kita, „FieldInfo“, DecimalSeparator, Tūkstančiai separatoriaus, TrailingMinusNumbers)

Išraiška

Tai yra ląstelių, kurias norite padalyti, diapazonas, pvz.: Diapazonas („A1: A23“).

Visi „TextToColumns“ metodo argumentai yra neprivalomi (aplink juos yra laužtiniai skliausteliai).

Kelionės tikslas

Kur norite, kad rezultatas būtų patalpintas - dažnai nepaisote duomenų ir padalijate juos toje pačioje vietoje.

Duomenų tipas

Jūsų naudojamas teksto analizavimo tipas - gali būti xlRibotas (numatytasis, jei praleistas), arba xlFixedWidth.

TextQualifier

Jei kiekviename skaidomo teksto lauke yra kabutės (vienkartinės arba dvigubos), turite nurodyti, ar jie yra pavieniai, ar dvigubi.

SekantisDelimiter

Tai tiesa arba klaidinga ir nurodo VBA apsvarstyti 2 tuos pačius ribotuvus kartu, tarsi tai būtų 1 skiriamasis ženklas.

Skirtukas

Tai yra arba Tiesa apie Netiesa, numatytasis yra Netiesa - tai sako VBA, kad duomenys yra atskirti tab.

Kabliataškis

Tai yra arbaTiesa apie Netiesa, numatytasis yra Netiesa - tai sako VBA, kad duomenys yra atskirti kabliataškiu.

Erdvė

Tai yra arba Tiesa apie Netiesa, numatytasis yra Netiesa - tai sako VBA, kad duomenys yra atskirti tarpais.

Kiti

Tai yra arba Tiesa apie Netiesa, numatytasis yra Netiesa. Jei nustatysite kaip „True“, tada kitas argumentas, Kita reikia patikslinti.

Kita

Tai simbolis, kuriuo tekstas yra atskirtas (pvz .: arba | pavyzdžiui).

„FieldInfo“

Tai masyvas, kuriame yra informacijos apie atskirtų duomenų tipą. Pirmoji masyvo reikšmė nurodo duomenų stulpelio numerį, o antroji - konstantą, kurią naudosite norėdami pavaizduoti reikiamą duomenų tipą.

Penkių stulpelių su teksto, numerių ir datų duomenų tipais pavyzdys galėtų būti:

Masyvas (Masyvas (1, xlTextFormat), Masyvas (2, xlTextFormat), Masyvas (3, xlGeneralFormat), Masyvas (4, xlGeneralFormat), Masyvas (5, xlMDYFormatas))

Kitas būdas tai nustatyti yra:

Masyvas (Masyvas (1, 2), Masyvas (2, 2), Masyvas (3, 1), Masyvas (4, 1), Masyvas (5, 3))

Antrame stulpelyje esantys skaičiai yra konstantų vertės, kai konstanta xlTextFormat turi reikšmę 2, xlGeneralFormat (numatytoji) - 1, o xlMDYFormat - 3.

DecimalSeparator

Galite nurodyti dešimtainį skyriklį, kurį VBA turi naudoti, jei duomenyse yra skaičių. Jei jis praleistas, jis naudos sistemos nustatymą, kuris paprastai yra laikotarpis.

Tūkstančiai separatoriaus

Galite nurodyti tūkstančių skyriklį, kurį VBA turi naudoti, jei duomenyse yra skaičių. Jei jis praleistas, jis naudos sistemos nustatymą, kuris paprastai yra kablelis.

TrailingMinusNumbers

Šis argumentas daugiausia skirtas duomenų, generuojamų iš senesnių sistemų, kuriose minuso ženklas dažnai buvo po skaičiaus, o ne anksčiau, suderinamumui. Jei neigiami skaičiai turi minuso ženklą, turėtumėte tai nustatyti kaip „True“. Numatytoji reikšmė yra klaidinga.

Teksto konvertavimas į stulpelius

Ši procedūra konvertuos aukščiau pateiktus „Excel“ duomenis į stulpelius.

12345678910111213141516 SubtekstasTolic1 ()Diapazonas („A1: A25“). TextToColumns _Paskirties vieta: = Diapazonas ("A1: A25"),DataType: = xlDelimited, _TextQualifier: = xlDoubleQuote, _„ConsecutiveDelimiter“: = tiesa, _Skirtukas: = klaidinga, _Kabliataškis: = klaidinga, _Kablelis: = klaidinga,Tarpas: = tiesa, _Kita: = klaidinga, _„FieldInfo“: = masyvas (masyvas (1, 1), masyvas (2, 1), masyvas (3, 1), masyvas (4, 1), masyvas (5, 1)), _DecimalSeparator: = "." , _ThousandsSeparator: = ",", _TrailingMinusNumbers: = TiesaPabaiga Sub

Atlikdami aukščiau aprašytą procedūrą, užpildėme visus parametrus. Tačiau daugelis parametrų yra nustatyti kaip klaidingi arba numatytieji ir nėra būtini. Toliau pateikiama švaresnė aukščiau aprašytos procedūros versija. Norėdami nurodyti, kuriuos parametrus naudojame, turite naudoti parametrų pavadinimus.

1234567 SubtekstasTolic2 ()Diapazonas („A1: A25“). TextToColumns _DataType: = xlDelimited, _TextQualifier: = xlDoubleQuote, _„ConsecutiveDelimiter“: = tiesa, _Tarpas: = tiesa,Pabaiga Sub

Iš tikrųjų reikalingi tik 4 parametrai - duomenys yra atskirti dviguba kabute, jūs norite, kad iš eilės esančios kabutės būtų traktuojamos kaip viena, o duomenys atskirti tarpais!

Jei norite dar greitesnės kodo eilutės, parametrų pavadinimus galėtume praleisti, bet tada turėtume įvesti kablelius, kad išsaugotume parametro vietą. Jums tereikia pateikti informaciją iki paskutinio jūsų naudojamo parametro - šiuo atveju tarpas, skiriantis duomenis, kuris yra 8 -asis parametras.

123 SubtekstasTolCol3 ()Diapazonas („A1: A25“). TextToColumns, xlDelimited, xlDoubleQuote, True,,,, TruePabaiga Sub

Kai atliksite bet kurią iš aukščiau aprašytų procedūrų, duomenys bus atskirti pagal toliau pateiktą grafiką.

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave