VBA scv-Import Problem
17.02.2016 15:35:27
Sandro
Ich bräuchte mal bitte Eure Hilfe.
Über ein VBA Makro lade ich Daten aus einer csv-Datei in Excel 2010.
Dim strFileName As String, arrDaten, arrTmp, lngR As Long, lngLast As Long
Const cstrDelim As String = ";" 'Trennzeichen
If strFileName "" Then
Application.ScreenUpdating = True
Open strFileName For Input As #1
arrDaten = Split(Input(LOF(1), 1), vbCrLf)
Close #1
For lngR = 1 To UBound(arrDaten)
arrTmp = Split(arrDaten(lngR), cstrDelim)
If UBound(arrTmp) > -1 Then
With ActiveSheet
lngLast = .Cells(Rows.Count, 1).End(xlUp).row + 1
lngLast = Application.Max(lngLast, 10)
.Cells(lngLast, 1).Resize(, UBound(arrTmp) + 1) _
= Application.Transpose(Application.Transpose(arrTmp))
End With
End If
Next lngR
Else
Exit Sub
End If
Das funktioniert soweit gut, aber nur solange die Textlänge zwischen den Trennzeichen nicht 255 Zeichen überschreitet. Dann folgt die Fehlermeldung: Laufzeitfehler 13, Typen unverträglich an der folgenden Stelle:
.Cells(lngLast, 1).Resize(, UBound(arrTmp) + 1) _
= Application.Transpose(Application.Transpose(arrTmp))
Sobald die Texte auf 255 Zeichen gekürzt werden funktioniert der csv-Import einwandfrei. Ich vermute, dass der Text größer 255 Zeichen nicht in die Zelle geschrieben werden kann. In das Array ist der Text in voller Lange eingelesen.Hat jemand eine Idee, wie man das lösen kann?
Ich hoffe ihr könnt mir helfen.
Viele Grüße,
Sandro