mit dem beigefügten vba code kann ich eine csv.Datei einlesen (Spalte A Datum, Spalte B bis G Zahlen).
In der ersten Zeile steht "Text" auch mit Anführungszeichen statt Text ohne Anführungszeichen
Trennzeichen ist ";".
Das Problem ist nur, dass in jede Zeile neben dem Datum bzw. den Zahlen alles in " " gesetzt wird.
Statt dem Datum 20.12.2020 wird geschrieben "20.12.2020"
Statt den Zahlen 61,65 wird geschrieben "61,65"
Kann man den unten stehenden Code ergänzen, so dass er auch die Anführungszeichen weglässt.
Danke und Gruß
Bernd
Sub CSV_Einlesen()
Dim Pfad As String, lfnNr As Integer, Zeile As String, Inhalt() As String
Dim Ziel As Range
'Freie Zelle in Spalte A suchen
With ThisWorkbook.Worksheets("Tabelle1")
Set Ziel = .Range("A65536").End(xlUp).Offset(1, 0)
If IsEmpty(.Range("A1")) Then Set Ziel = .Range("A1")
End With
'Variablen füllen
Pfad = "C:\Users\A.csv"
lfnNr = FreeFile
'Prüfen, ob Pfad exisistiert
If Dir(Pfad) = "" Then
MsgBox "DateiPfad nicht vorhanden " & Pfad, , "Mitteilung"
Exit Sub
End If
'Datei öffnen
Open Pfad For Input As #lfnNr
'Weitermachen bis alle Zeilen abgearbeitet
Do While Not EOF(lfnNr)
'Zeile einlesen
Line Input #lfnNr, Zeile
'Wenn Zeile Leer dann mache nichts
If Trim(Zeile) "" Then
'Wenn Zeile ein ; enthält weitermachen
If InStr(Zeile, ";") > 0 Then
'Zeile in mehrere Felder auftrennen, Trennzeichen ;
Inhalt = Split(Zeile, ";")
'Übertragen der Felder in freie Zeile
Ziel.Resize(1, UBound(Inhalt)).Value = Inhalt
Else
'Einzelnes Feld übertragen
Ziel.Value = Zeile
End If
'Nächste Zeile auswählen
Set Ziel = Ziel.Offset(1, 0)
End If
Loop
'Datei schließen
Close #lfnNr
'Aufräumen
Set Ziel = Nothing
End Sub