bisher habe ich zu fast jedem Problem immer zügig Antworten hier gefunden, heute suche ich allerdings schon eine Weile und bin ratlos:
Ich habe eine CSV Datei, die ich mittels VBA importieren möchte.
Diese Datei hat als Trennzeichen das Semikolon.
In einigen Spalten stehen Beträge in der Form "110,00 ".
Wenn ich die Datei nun importiere, wird das Trennzeichen korrekt erkannt und auf den ersten Blick auch alles korrekt geladen.
Tatsächlich werden jedoch alle Zeichen, die hinter dem ersten Komma stehen, nicht eingelesen, als würde das Komme als Zeilenende interpretiert werden.
Folgende Einstellungen verwende ich derzeit:
For Each f In fso.GetFolder(CSVPFAD).Files
If LCase(Right(f.Name, 3)) = "csv" Then
Workbooks.OpenText Filename:=f.Path
Set wbSource = ActiveWorkbook
On Error Resume Next
Set ws = wbTarget.Worksheets(f.Name)
If Err 0 Then
Set ws = wbTarget.Worksheets.Add
ws.Name = f.Name
ws.Range("A:ZZ").Clear
End If
wbSource.Worksheets(1).Range("A:A").TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, ConsecutiveDelimiter:=False, Semicolon:=True, TrailingMinusNumbers:=True ', Local:=True
wbSource.Worksheets(1).Range("A:ZZ").Copy Destination:=ws.Range("A1")
wbSource.Close False
End If
Next
Ich habe versucht, die Eigenschaft Local:=true hinzuzufügen.
Das führte dazu, dass die Leerzeichen als Trennzeichen erkannt werden (statt der Semikolons), was mir auch nicht hilft.
Die Einstellungen im Excel stehen auf Dezimaltrenner = Komma, Tausendertrenner = Punkt.
Diese Einstellungen so einzustellen, dass sich Excel dem Systemstandard bedient, helfen mir leider auch nicht.
Ich verwende Excel 2010.
Ich bin über jeden Ratschlag sehr dankbar!
Viele Grüße,
Christian