In diesem Artikel erstellen wir ein Makro, um Text in einer Zelle vertikal zu spalten. Wir können den Text in der Zelle basierend auf dem Trennzeichen abgrenzen. Das Trennzeichen kann entweder ein Komma, ein Leerzeichen, ein Backslash usw. sein.

Um die Funktionsweise des Makros zu erläutern, haben wir die URL als Beispieltext in Zelle A10 verwendet. Das Makro kann durch Klicken auf die Schaltfläche „Senden“ ausgeführt werden.

ArrowSampleData

Nach dem Ausführen des Makros wird die Ausgabe in der nächsten Spalte zurückgegeben.

Der Textwert in der Zelle wird in der zweiten Spalte durch mehrere Unterzeichenfolgen in mehreren Zellen getrennt.

ArrowAfterRunningMacro

Logische Erklärung

Wir haben ein Makro „texttocolumns“ erstellt, das zwei Aufgaben ausführt.

Erstens wird die Zeichenfolge im A10 basierend auf dem Trennzeichen auf mehrere Unterzeichenfolgen begrenzt. In diesem Beispiel haben wir den Bindestrich (-) als Trennzeichen verwendet. Zweitens werden generierte Unterzeichenfolgen von mehreren Spalten zu einer einzelnen Spalte durchlaufen.

Code Erklärung

Rng.texttocolumns Ziel: = Rng.Offset (0, 1), Datentyp: = xlDelimited, _ TextQualifier: = xlDoubleQuote, ConsecutiveDelimiter: = True, Other: = True, OtherChar _: = „-„

Der obige Code wird verwendet, um die Zeichenfolge im Bereich „Rng“ abzugrenzen. Ziel gibt den Standortbereich an, in dem die Ausgabe angezeigt wird. DataType gibt den Typ des verwendeten Trennzeichens an. TextQualifier gibt das Zeichen an, das für das Textqualifikationsmerkmal verwendet wird. OtherChar gibt das als Trennzeichen verwendete Zeichen an.

Bitte folgen Sie unten für den Code

Sub texttocolumns()

'Declaring variables

Dim StartRow, i, LastCol As Long

Dim Rng As Range

'disabling the display alerts

Application.DisplayAlerts = False

'Initializing the variable

StartRow = 10

Set Rng = Range("A10")

'Separting the text based on the delimiter

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

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

:="-"

'Finding the column number of cell containing the last string after delimiting

LastCol = Rng.End(xlToRight).Column

'arranging the text in columns to rows

For i = 2 To LastCol

Cells(10, i).Cut Cells(StartRow, 2)

StartRow = StartRow + 1

Next i

End Sub

Wenn Ihnen dieser Blog gefallen hat, teilen Sie ihn mit Ihren Freunden auf Facebook und Facebook.

Wir würden gerne von Ihnen hören, lassen Sie uns wissen, wie wir unsere Arbeit verbessern und für Sie verbessern können. Schreiben Sie uns unter [email protected]