Wir wünschen allen Forenteilnehmern ein frohes Fest und einen guten Rutsch ins neue Jahr. x

"Text in Spalten" mit VBA für nichtzusammenhängende Mehrfachmarkierung
#1
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
Top
#2
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.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste