Delimitarea textului dintr-o celulă în coloană pe verticală

Cuprins

În acest articol, vom crea o macro pentru a delimita textul dintr-o celulă în coloană pe verticală. Putem delimita textul din celulă pe baza delimitatorului. Delimitatorul poate fi fie virgulă, spațiu, bară inversă etc.

Pentru a explica funcționarea macro-ului, am luat URL ca exemplu de text în celula A10. Macro-ul poate fi executat făcând clic pe butonul „Trimite”.

După executarea macro-ului, acesta va returna rezultatul în coloana următoare. Valoarea textului din celulă este separată în mai multe șiruri secundare în mai multe celule din a doua coloană.

Explicație logică

Am creat o macro „texttocolumns” care efectuează două sarcini. În primul rând, delimitează șirul din A10 la mai multe șiruri secundare, pe baza delimitatorului. În acest exemplu, am folosit dash (-) ca delimitator. În al doilea rând, traversează șirurile secundare generate de la mai multe coloane la o singură coloană.

Explicarea codului

Rng.texttocolumns Destinație: = Rng.Offset (0, 1), DataType: = xlDelimited, _

TextQualifier: = xlDoubleQuote, ConsecutiveDelimiter: = True, Other: = True, OtherChar _

:="-"

Codul de mai sus este utilizat pentru a delimita șirul în intervalul „Rng”. Destinația specifică intervalul de locație unde va apărea ieșirea. DataType specifică tipul de delimitator utilizat. TextQualifier specifică caracterul care este utilizat pentru calificatorul de text. OtherChar specifică caracterul folosit ca delimitator.

Vă rugăm să urmați codul de mai jos

 Sub texttocolumns () 'Declararea variabilelor Dim StartRow, i, LastCol As Long Dim Rng As Range' dezactivarea alertelor de afișare Application.DisplayAlerts = False 'Initializarea variabilei StartRow = 10 Set Rng = Range ("A10")' Separarea textului bazat pe pe delimitator Rng.texttocolumns Destinație: = Rng.Offset (0, 1), DataType: = xlDelimited, _ TextQualifier: = xlDoubleQuote, ConsecutiveDelimiter: = True, Other: = True, OtherChar _: = "-" 'Găsirea coloanei numărul de celule care conține ultimul șir după delimitarea LastCol = Rng.End (xlToRight). Coloană "aranjând textul în coloane în rânduri Pentru i = 2 la celulele LastCol (10, i). Tăiați celulele (StartRow, 2) StartRow = StartRow + 1 Următorul i Sfârșit Sub 

Dacă ți-a plăcut acest blog, distribuie-l prietenilor tăi de pe Facebook. De asemenea, ne puteți urmări pe Twitter și Facebook.

Ne-ar plăcea să aflăm de la dvs., să ne anunțați cum putem îmbunătăți munca noastră și o putem îmbunătăți. Scrieți-ne pe site-ul de e-mail

Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii

wave wave wave wave wave