ВБА текст у колоне

Преглед садржаја

Овај водич ће вам показати како претворити низ текста у једној ћелији у више колона помоћу методе Ранге ТектТоЦолумнс у ВБА

Текст у колоне

Тхе Домет.ТектТоЦолумнс метода у ВБА је моћан алат за чишћење података који су увезени из текстуалних или цсв датотека, на пример.

Размотрите следећи радни лист.

Подаци су у Екцел примљени у једној колони и одвојени су наводницима.

Можете користити метод Ранге ТектТоЦолумнс за раздвајање ових података у колоне.

ТектТоЦолумнс Синтакса

израз.ТектТоЦолумнс (Одредиште, Тип података, ТектКуалифиер, ЦонсецутивеДелимитер, Таб, Тацка зарез, Зарези, Свемир, Друго, ОтхерЦхар, ФиелдИнфо, ДецималСепаратор, ТхоусандсСепаратор, ТраилингМинусБројеви)

Израз

Ово је Опсег ћелија које желите да поделите - нпр: Опсег („А1: А23“).

Сви аргументи у ТектТоЦолумнс методи су опционални (имају углате заграде око себе).

Одредиште

Тамо где желите да се резултат стави - често замените податке и поделите их на исто место.

Тип података

Врста рашчлањивања текста коју користите - може бити клДелимитед (подразумевано ако је изостављено), или клФикедВидтх.

ТектКуалифиер

Ако имате наводнике (једноструке или двоструке) око сваког поља у тексту који делите, морате назначити да ли су појединачни или двоструки.

ЦонсекутивеДелимитер

Ово је или тачно или нетачно и говори ВБА -и да размотри 2 иста граничника заједно као да је 1 граничник.

Таб

Ово је једно или друго Истина оф Нетачно, подразумевано је Нетачно - ово говори ВБА да су подаци ограничени табулатором.

Тацка зарез

Ово је билоИстина оф Нетачно, подразумевано је Нетачно - ово говори ВБА да су подаци разграничени тачком и зарезом.

Свемир

Ово је било Истина оф Нетачно, подразумевано је Нетачно - ово говори ВБА да су подаци омеђени размаком.

Друго

Ово је једно или друго Истина оф Нетачно, подразумевано је Нетачно. Ако ово поставите на Тачно, следећи аргумент, ОтхерЦхар потребно је навести.

ОтхерЦхар

Ово је знак којим је текст одвојен (нпр .: или | на пример).

ФиелдИнфо

Ово је низ који садржи информације о врсти података који се раздвајају. Прва вредност у низу означава број колоне у подацима, а друга вредност означава константу коју ћете користити за приказ типа података који вам је потребан.

Пример за 5 колона са врстама података текста, бројевима и датумима може бити:

Низ (Низ (1, клТектФормат), Низ (2, клТектФормат), Низ (3, клГенералФормат), Низ (4, клГенералФормат), Низ (5, клМДИФормат))

Други начин да то поставите је:

Низ (низ (1, 2), низ (2, 2), низ (3, 1), низ (4, 1), низ (5, 3))

Бројеви у другој колони су вредности константи где константа клТектФормат има вредност 2, клГенералФормат (подразумевано) има вредност 1, а клМДИФормат вредност 3.

ДецималСепаратор

Можете навести децимални сепаратор који ВБА мора да користи ако у подацима постоје бројеви. Ако се изостави, користиће се системска подешавања, што је обично тачка.

ТхоусандсСепаратор

Можете навести сепаратор хиљада који ВБА мора да користи ако у подацима постоје бројеви. Ако се изостави, користиће системска подешавања, која су обично зарези.

ТраилингМинусБројеви

Овај аргумент у великој мери служи за компатибилност података који се генеришу из старијих система где је знак минус често био иза броја, а не раније. Ово бисте требали поставити на Тачно ако негативни бројеви иза себе имају знак минус. Подразумевано је Нетачно.

Претварање текста у колоне

Следећи поступак ће претворити горње Екцел податке у колоне.

12345678910111213141516 Суб ТектТоЦол1 ()Опсег ("А1: А25"). ТектТоЦолумнс _Одредиште: = Домет ("А1: А25"),Тип података: = клДелимитед, _ТектКуалифиер: = клДоублеКуоте, _Узастопни граничник: = Тачно, _Картица: = Нетачно, _Тачка и зарез: = Нетачно, _Зарез: = Нетачно,Размак: = Тачно, _Остало: = Нетачно, _ФиелдИнфо: = низ (низ (1, 1), низ (2, 1), низ (3, 1), низ (4, 1), низ (5, 1)), _ДецималСепаратор: = "." , _Хиљаде сепаратора: = ",", _ТраилингМинусНумберс: = ТачноЕнд Суб

У горњој процедури смо попунили све параметре. Међутим, многи параметри су постављени на лажно или на подразумевано подешавање и нису неопходни. Чистија верзија горње процедуре наведена је у наставку. Морате да користите називе параметара да бисте назначили које параметре користимо.

1234567 Суб ТектТоЦол2 ()Опсег ("А1: А25"). ТектТоЦолумнс _Тип података: = клДелимитед, _ТектКуалифиер: = клДоублеКуоте, _Узастопни граничник: = Тачно, _Размак: = Тачно,Енд Суб

Постоје само 4 параметра који су заиста потребни - подаци су омеђени двоструким наводником, желите да се узастопни наводници третирају као један, а подаци су одвојени размаком!

За још бржу линију кода, могли бисмо изоставити називе параметара, али онда бисмо морали ставити зарезе да бисмо сачували место параметра. Потребно је само да унесете податке до последњег параметра који користите - у овом случају размак који раздваја податке који су осми параметар.

123 Суб ТектТоЦол3 ()Опсег ("А1: А25"). ТектТоЦолумнс, клДелимитед, клДоублеКуоте, Труе,,,, ТруеЕнд Суб

Када покренете било коју од горе наведених процедура, подаци ће бити раздвојени према доњој слици.

Ви ће помоћи развој сајта, дељење страницу са пријатељима

wave wave wave wave wave