Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

"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
Antworten 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
Antworten Top


Gehe zu:


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