bin bisher nur stiller Mitleser gewesen, habe aber jetzt ein Problem, dass ich nicht alleine gelöst bekomme.
Ich lade .csv Dateien aus einem ordner mit dem nachfolgenden Skript ein. Das funktioniert auch ohne Fehler, aber die Darstellung der Daten ist nicht richtig.
Sub ImportiereCSVDateien()
Const CSVPFAD = "Pfad einfügen"
Dim wbTarget As Workbook, wbSource As Workbook, ws As Worksheet
Set fso = CreateObject("Scripting.Filesystemobject")
Set wbTarget = ActiveWorkbook
Application.DisplayAlerts = False
'Lösche alle Worksheets bevor wir alle neu anlegen
If wbTarget.Worksheets.Count > 1 Then
For i = 1 To wbTarget.Worksheets.Count - 1
wbTarget.Worksheets(i).Delete
Next
End If
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, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Semicolon:=True, TrailingMinusNumbers:=True
wbSource.Worksheets(1).Range("A:ZZ").Copy Destination:=ws.Range("A1")
wbSource.Close False
End If
Next
Application.DisplayAlerts = True
Set fso = Nothing
End Sub
Das Ergebnis sieht dann wie folgt aus.Das Problem: Spalte B & C sind eine Zeile nach unten verschoben und in Zeile A hab ich anstelle eines Kommas einenPunkt als Trennzeichen.
Dazu ist zu sagen dass die .csv Datei eine Leerzeile zu beginn hat, welche nachher auch verschwunden ist.
Ich habe den Code oben nicht selbt geschrieben, sondern kopiert, bekomme ihn aber nicht so verändert, dass alles richtig dargestellt wird.