Clever-Excel-Forum

Normale Version: "Text in Spalten" mit VBA für nichtzusammenhängende Mehrfachmarkierung
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

ich habe von Euch schon den ein oder anderen wertvollen Tipp bekommen Heart :78: , ich hoffe Ihr könnt mir auch hiermit nochmal helfen.

Ich bin dabei ein Makro zu schreiben, das mit eine Text-Datei in ein Worksheet einfügt und nun muss ich den eingefügten Text sortieren.

Trennzeichen in den jeweiligen Zeilen werden durch mehrere Leerzeichen dargestellt. Das Zeilenweise kopieren funktioniert auch einwandfrei.  
Die Text-Datei stellt einige Tabellen dar (die sich z.T. Wiederholen), die ich nun via "Text-in-Spalten" sauber sortieren möchte (nicht immer sind alle "Spalten" durch die gleiche Anzahl an Leerzeichen getrennt). Einzelne Spalten Manuell zu markieren und mit "Text-in-Spalten" zu formatieren ist allerdings sehr mühselig und würde sehr sehr lange dauern. 

Frage: Gibt es eine Möglichkeit TextToColums im VBA auf mehrere "Zeilenblöcke" anzuwenden? 

Mit Makro aufzeichnen für einen "Zeilenblock" erhalte ich:

Range("A20399:A20422").Select
    Application.CutCopyMode = False
    Selection.TextToColumns Destination:=Range("A20399"), DataType:= _
        xlFixedWidth, FieldInfo:=Array(Array(0, 1), Array(20, 1), Array(47, 1), Array(67, 1) _
        , Array(87, 1), Array(107, 1)), TrailingMinusNumbers:=True



Ziel, sowas wie:

Range(ActiveWorksheets.Cells(20399,1),ActiveWorksheets.Cells(20422,1)).Select
    Application.CutCopyMode = False
    Selection.TextToColumns Destination:=Range(ActiveWorksheets.Cells(20399,1)), DataType:= _
        xlFixedWidth, FieldInfo:=Array(Array(0, 1), Array(20, 1), Array(47, 1), Array(67, 1) _
        , Array(87, 1), Array(107, 1)), TrailingMinusNumbers:=True


...allerdings funktioniert das in der Form leider nicht.


Wenn euch eine andere Möglichkeit einfällt die Tabellen sauber zu sortieren um diese danach auszuwerten, sind andere Ideen immer willkommen =)


Ich bedanke mich jetzt schon für alle Antworten und viele Grüße

KatzeKat
Hallo,


Zitat:nicht immer sind alle "Spalten" durch die gleiche Anzahl an Leerzeichen getrennt


es gibt doch in Text in Spalten die Option, "Aufeinander folgende Trennzeichen als ein Zeichen behandeln". Das sollte auch eine Lösung für deine Leerzeichen in unterschiedlicher Anzahl sein.