Ich versuche gerade mehrer txt Dateien in ein Workbook zu importieren was soweit auch ganz klappt. Nur haben meine Textfiles unterschiedlich viele Spalten jetzt möchte ich das je nachdem wieviele Spalten meine Datei hat, auch bei allen Spalten der Dezimal Operator von einem Punkt in ein Komma geändert wird.
Komme da leider nicht weiter.
Hier der dafür zuständige Code-Teil:
x = 1
Set wkbTemp = Workbooks.Open(Filename:=FilesToOpen(x))
wkbTemp.Sheets(1).Copy
Set wkbAll = ActiveWorkbook
wkbTemp.Close (False)
wkbAll.Worksheets(x).Columns("A:A").TextToColumns _
Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, _
Tab:=False, Semicolon:=False, _
Comma:=False, Space:=True, _
FieldInfo:=Array(Array(1, 1), _
Array(2, 1), Array(3, 1)), DecimalSeparator:=".", ThousandsSeparator:=" ", _
TrailingMinusNumbers:=True
x = x + 1
Bisher schaffe ich es nur indem ich die Anzahl der Spalten manuell festlege.
Hat da jemand einen Tip für mich.
Mein Idee wäre, die Anzahl der Spalten zu zählen und dann die Fieldinfo als Schleife durchlaufen zu lassen.
Also ungefähr so:
lastCol = .Cells(1, .Columns.Count).End(xlToLeft).Column
For a=0 to lastCol-1
FieldInfo:=Array(Array(a+1, 1)
next a
Nur leider schaffe ich nicht das in den vorhanden code zu integrieren.
Viele Grüße
Johannes