kurz zu mir: Programmieren kann ich in verschiedenen Sprachen, muss mir allerdings viel im _
Internet zusammen suchen da ich die Sprachen alle nicht fließend kann. Ich arbeite derzeit an _ einem Excel Sheet welches mir einen ganzen Haufen an CSV Dateien auswerten soll. Beim Import hänge ich nun am berühmt berüchtigten Komma Problem fest: nach dem Import wird aus 1,002 1002 ... die Lösung zum Import habe ich aus dem Internet da die schön schlank ist (wohingegen eine ältere von mir gigantisch ist und ich sie auch gar nicht mehr verstehe). Meine Lösung:
Sub ImportCSV(srcFile As String, dstSheet As String, delim As String)
Dim strFileName As String, arrDaten, arrTmp, lngR As Long, lngLast As Long
If srcFile "" Then
Application.ScreenUpdating = False
Open srcFile For Input As #1
arrDaten = Split(Input(LOF(1), 1), vbCrLf)
Close #1
For lngR = 0 To UBound(arrDaten)
arrTmp = Split(arrDaten(lngR), delim)
If UBound(arrTmp) > -1 Then
With Worksheets(dstSheet)
lngLast = .Cells(Rows.Count, 1).End(xlUp).Row + 1
.Cells(lngLast, 1).Resize(, UBound(arrTmp) + 1) = Application.Transpose(Application. _
_
_
Transpose(arrTmp))
End With
End If
Next lngR
End If
Worksheets(dstSheet).Rows(1).Delete shift:=xlUp
End Sub
Das zweite Problem ist, dass die Daten ab Zeile 2 stehen, den Grund konnte ich nicht finden. Deshalb lösche ich einfach die erste Zeile und schiebe alles eins nach oben :)
Ich weiß nun, dass es ein Problem mit den Ländereinstellungen gibt und so das Komma Problem zustande kommt. Ich weiß auch, dass man Excel beibringen kann alles so zu lassen wie es ist. Nur wie ich es oben einbaue verstehe ich nicht.
Eventuell kann mir jemand helfen :)
Grüße