Avgränsa texten i en cell till kolumn vertikalt

Anonim

I den här artikeln kommer vi att skapa ett makro för att avgränsa text i en cell till kolumn vertikalt. Vi kan avgränsa texten i cellen baserat på avgränsaren. Avgränsare kan antingen vara ett komma, mellanslag, backslash etc.

För att förklara makrot har vi tagit URL som exempeltext i cell A10. Makro kan köras genom att klicka på knappen "Skicka".

Efter att ha kört makrot returnerar det utdata i nästa kolumn. Textvärdet i cellen separeras till flera delsträngar i flera celler i den andra kolumnen.

Logisk förklaring

Vi har skapat ett makro ”texttocolumns” som utför två uppgifter. För det första avgränsar den strängen i A10 till flera delsträngar, baserat på avgränsaren. I det här exemplet har vi använt bindestreck (-) som avgränsare. För det andra korsar den genererade delsträngar från flera kolumner till en enda kolumn.

Kodförklaring

Rng.texttocolumns Destination: = Rng.Offset (0, 1), DataType: = xlDelimited, _

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

:="-"

Ovanstående kod används för att avgränsa strängen i intervallet "Rng". Destination anger platsintervallet där utdata ska visas. DataType anger vilken typ av avgränsare som används. TextQualifier anger tecknet som används för textkvalificering. OtherChar anger tecknet som används som avgränsare.

Följ koden nedan

 Undertextkolumner () 'Deklarerande variabler Dim StartRow, i, LastCol As Long Dim Rng As Range' inaktiverar visningsvarningarna Application.DisplayAlerts = False 'Initierar variabeln StartRow = 10 Set Rng = Range ("A10")' Avdelning av texten baserad på avgränsaren Rng.texttocolumns Destination: = Rng.Offset (0, 1), DataType: = xlDelimited, _ TextQualifier: = xlDoubleQuote, ConsecutiveDelimiter: = True, Other: = True, OtherChar _: = "-" 'Hitta kolumnen antal celler som innehåller den sista strängen efter avgränsning av LastCol = Rng.End (xlToRight) .Column 'ordnar texten i kolumner till rader För i = 2 till LastCol -celler (10, i) .Cut Cells (StartRow, 2) StartRow = StartRow + 1 Nästa i Avsluta Sub 

Om du gillade den här bloggen, dela den med dina vänner på Facebook. Du kan också följa oss på Twitter och Facebook.

Vi vill gärna höra från dig, låt oss veta hur vi kan förbättra vårt arbete och göra det bättre för dig. Skriv till oss på e -postwebbplatsen