I denne artikel vil vi oprette en makro til at afgrænse tekst i en celle til kolonne lodret. Vi kan afgrænse teksten i cellen baseret på afgrænseren. Afgrænsning kan enten være et komma, mellemrum, omvendt skråstreg osv.
For at forklare makroens funktion har vi taget URL som eksempeltekst i celle A10. Makro kan udføres ved at klikke på knappen "Send".
Efter udførelse af makroen returnerer den output i den næste kolonne. Tekstværdi i cellen er adskilt til flere understrenge i flere celler i den anden kolonne.
Logisk forklaring
Vi har oprettet en makro “texttocolumns”, der udfører to opgaver. For det første afgrænser det strengen i A10 til flere understrenge, baseret på afgrænseren. I dette eksempel har vi brugt bindestreg (-) som afgrænser. For det andet krydser den genererede understrenge fra flere kolonner til en enkelt kolonne.
Kode forklaring
Rng.texttocolumns Destination: = Rng.Offset (0, 1), DataType: = xlDelimited, _
TextQualifier: = xlDoubleQuote, ConsecutiveDelimiter: = True, Other: = True, OtherChar _
:="-"
Ovenstående kode bruges til at afgrænse strengen i området "Rng". Destination angiver det lokalitetsområde, hvor output skal vises. DataType angiver den anvendte type afgrænser. TextQualifier angiver det tegn, der bruges til tekstkvalificerende. OtherChar angiver det tegn, der bruges som afgrænsning.
Følg venligst nedenstående for koden
Undertekstkolonner () 'Deklarationsvariabler Dim StartRow, i, LastCol As Long Dim Rng As Range' deaktiverer visningsadvarsler Application.DisplayAlerts = False 'Initialiserer variablen StartRow = 10 Set Rng = Range ("A10")' Separering af teksten baseret på afgrænseren Rng.texttocolumns Destination: = Rng.Offset (0, 1), DataType: = xlDelimited, _ TextQualifier: = xlDoubleQuote, ConsecutiveDelimiter: = True, Other: = True, OtherChar _: = "-" 'Find kolonnen antal celle, der indeholder den sidste streng efter afgrænsning af LastCol = Rng.End (xlToRight) .Column 'arrangerer teksten i kolonner til rækker For i = 2 til LastCol -celler (10, i) .Cut Cells (StartRow, 2) StartRow = StartRow + 1 Næste i Afslut Sub
Hvis du kunne lide denne blog, kan du dele den med dine venner på Facebook. Du kan også følge os på Twitter og Facebook.
Vi vil meget gerne høre fra dig, lad os vide, hvordan vi kan forbedre vores arbejde og gøre det bedre for dig. Skriv til os på e -mail -stedet