ich versuche etliche csv-Dateien in ein Excelsheet zu kopieren. Dazu öffne ich per VBA die csv- _
Datei und kopiere den Inhalt. Soweit so gut. Jedoch zeigt es in der CSV die Werte nicht richtig _ an. Unten hab ich ein Beispiel der zu einlesenden Datei. Die Werte mit 0.9xx sind richtig, die 10.xxx müssten 1.0xxx sein.
04:30:00 0.0644 0.8721
04:45:00 0.068 0.9209
05:00:00 0.071 0.9615
05:15:00 0.0732 0.9913
05:30:00 0.07472 10.119
05:45:00 0.07572 10.254
06:00:00 0.0766 10.373
06:15:00 0.07772 10.525
06:30:00 0.07932 10.742
06:45:00 0.08192 11.094
07:00:00 0.086 11.646
07:15:00 0.09192 12.448
07:30:00 0.1004 13.596
07:45:00 0.11192 15.156
Mein Code zum Einlesen ist:
'Dateien in Tabelle1 schreiben
k = 2
Do While True
sPfad = "S:\Eigene Dateien\" 'Pfad des Ordners
strFile = Trim(ThisWorkbook.Worksheets("Tabelle2").Cells(k, 2))
strFileName = sPfad & strFile 'kompletter Dateipfad zum Dateiinhalt
k = k + 1
Debug.Print strFile
If strFile = "" Then
Exit Do
Else
'Öffnen der Datei
Workbooks.Open Filename:=strFileName, Local:=True
Range(Cells(1, 1), Cells(29505, 3)).CurrentRegion.TextToColumns Destination:=Range( _
Cells(1, 1), _
Cells(29505, 3)), DataType:=xlDelimited, Semicolon:=True, DecimalSeparator:=".", _
ThousandsSeparator:=" ", _
TextQualifier:=xlTextQualifierDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Comma:=False, _
Space:=False, TrailingMinusNumbers:=Flase
If Err.Number 0 Then
MsgBox "Daten nicht vorhanden", vbOKOnly + vbCritical
Exit Sub
End If
'Anzahl Zeilen
zeilen = ActiveWorkbook.Worksheets(1).UsedRange.Rows.Count
'letzteZeile ermitteln
letzteZeile = ThisWorkbook.Worksheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp) _
_
_
_
.Row + 1
'Kopieren von SWEIG-E-UST-004
Range("A1:A" & zeilen).Copy Destination:=ThisWorkbook.Worksheets("Tabelle1"). _
Range("A" & letzteZeile)
Range("B1:B" & zeilen).Copy Destination:=ThisWorkbook.Worksheets("Tabelle1"). _
Range("B" & letzteZeile)
Range("C1:C" & zeilen).Copy Destination:=ThisWorkbook.Worksheets("Tabelle1"). _
Range("C" & letzteZeile)
'Schließen der Datei
ActiveWorkbook.Close Filename:=strFileName, savechanges:=False
End If
Loop
Sorry für die schreckliche Darstellung, aber die Code-Zeilen sind einfach zu lang^^Ich denke der Wurm liegt schon nach dem Öffnen der Datei.
also nach Workbooks.Open usw.
Hier im Forum habe ich schon DecimalSeparator:=".", ThousandsSeparator:=" ", gefunden und eingefügt. Leider muss ich irgendwo nochmals einen Fehler haben.
Ich würde mich freuen, wenn mir jmd weiterhelfen könnte.
Vielen Dank schon mal im Voraus!
Grüße Lari