Probleme mit CSV-Datei
01.11.2012 15:44:36
Dirk
ich habe schon einige verschiedene Sachen probiert und habe immer noch das gleiche Problem. Ich habe eine CSV-Datei, die in den ersten 14 Zeilen allgemeine Daten hat und dann erst ab Zeile 15 die eigentlichen, mit Komma getrennten, Messdaten.
Loesche ich die ersten 14 Zeilen, laeuft das Programm ohne Probleme. Lasse ich die Zeilen in der Datei, kommt ein Error.
Hier mal der Code:
Sub data_import()
Dim MyData As String, strData() As String, TmpAr() As String, strFileName As String
Dim TwoDArray() As String
Dim i As Long, n As Long, ia As Long
Const Delim As String = ","
Close #1 'event geoeffnete Dateien werden geschlossen
' With Application.FileDialog(msoFileDialogFilePicker)
' .AllowMultiSelect = False
' .Title = "Select file"
' .InitialFileName = "c:\" 'Pfad anpassen
' .Filters.Add "CSV-Dateien", "*.csv", 1
' If .Show = -1 Then
' strFileName = .SelectedItems(1)
' End If
' End With
strFileName = "C:\Users\test3.csv" 'zum Testen der Datei
If strFileName "" Then
Application.ScreenUpdating = False
' Workbooks.Open strFileName
' Rows("1:14").Select
' Selection.Delete Shift:=xlUp
' Workbooks.Close
Open strFileName For Binary As #1
MyData = Space$(LOF(1))
Get #1, , MyData
Close #1
strData() = Split(MyData, vbCrLf)
ia = 1
For i = LBound(strData) To UBound(strData) - 1
strData(i) = Right(strData(i), Len(strData(i)) - 1)
strData(i) = Left(strData(i), Len(strData(i)) - 1)
TmpAr = Split(strData(i), Delim)
If UBound(TmpAr) > -1 Then
With ActiveSheet
.Cells(ia, 1).Resize(, UBound(TmpAr) + 1) _
= Application.Transpose(Application.Transpose(TmpAr))
End With
End If
ia = ia + 1
Next i
End If
End Sub
Gibt es eine Moeglichkeit, die ersten 15 Zeilen einfach zu ignorieren? Ich habe schon probiert, die Zeilen einfach zu loeschen, aber dann veraendere ich auch meine Originaldatei.
Es muss doch einen weg geben, das ARRAY erst ab Zeile 15 einzulesen.
Ueber jede Hilfe waere ich sehr dankbar.
Viele Gruesse und DANKE
Dirk