In diesem Artikel erstellen wir ein Makro, um Text in einer Zelle vertikal von einer Spalte zu trennen. Wir können den Text in der Zelle basierend auf dem Trennzeichen begrenzen. Trennzeichen kann entweder ein Komma, ein Leerzeichen, ein umgekehrter Schrägstrich usw. sein.
Um die Funktionsweise des Makros zu erklären, haben wir URL als Beispieltext in Zelle A10 genommen. Das Makro kann durch Klicken auf die Schaltfläche „Senden“ ausgeführt werden.
Nach der Ausführung des Makros wird die Ausgabe in der nächsten Spalte zurückgegeben. Der Textwert in der Zelle wird in mehrere Teilzeichenfolgen in mehreren Zellen in der zweiten Spalte getrennt.
Logikerklärung
Wir haben ein Makro „texttocolumns“ erstellt, das zwei Aufgaben erfüllt. Erstens grenzt es die Zeichenfolge im A10 anhand des Trennzeichens in mehrere Unterzeichenfolgen ab. In diesem Beispiel haben wir Bindestrich (-) als Trennzeichen verwendet. Zweitens durchläuft es generierte Teilzeichenfolgen aus mehreren Spalten zu einer einzelnen Spalte.
Codeerklärung
Rng.texttocolumns Destination:=Rng.Offset(0, 1), DataType:=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 Textqualifier verwendet wird. OtherChar gibt das als Trennzeichen verwendete Zeichen an.
Bitte folgen Sie unten für den Code
Sub texttocolumns() 'Variablen deklarieren Dim StartRow, i, LastCol As Long Dim Rng As Range 'Deaktivieren der Anzeigewarnungen Application.DisplayAlerts = False 'Initialisieren der Variablen StartRow = 10 Set Rng = Range("A10") 'Textbasiert trennen auf dem Trennzeichen Rng.texttocolumns Destination:=Rng.Offset(0, 1), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Other:=True, OtherChar _ :="-" 'Finde die Spalte Anzahl der Zellen, die die letzte Zeichenfolge nach dem Trennen enthalten LastCol = Rng.End(xlToRight).Column 'Anordnen des Textes in Spalten zu Zeilen For i = 2 To LastCol Cells(10, i).Cut Cells(StartRow, 2) StartRow = StartRow + 1 Weiter i Ende Sub
Wenn Ihnen dieser Blog gefallen hat, teilen Sie ihn mit Ihren Freunden auf Facebook. Außerdem können Sie uns auf Twitter und Facebook folgen.
Wir würden uns freuen, von Ihnen zu hören, lassen Sie uns wissen, wie wir unsere Arbeit verbessern und für Sie verbessern können. Schreiben Sie uns auf der E-Mail-Site