ich habe mit Makro-Programmierung leider quasi noch keine Erfahrung, und habe mir mit Vorlagen und Tipps&Tricks hier aus dem Forum eine Importmöglichkeit für CSV-Dateien zusammengebaut.
Leider wird hierbei nur der Inhalt der ersten 16 Zeilen meiner CSV-Datei importiert. Eine (nicht die erste) Spalte hat aber >100 Zeileneinträge.
Was muss ich ändern um alle Werte importiert zu bekommen?
Bin über Hilfe dankbar - wahrscheinlich ist es recht einfach... aber ich steh gerade auf dem Schlauch.
Danke schonmal!
VG Cora
Sub Datei_Importieren()
Dim strFileName As String, arrDaten, arrTmp, lngR As Long, lngLast As Long
'Löscht Inhalt des angegebenen Bereichs, Formatierung bleibt "Clear" statt "ClearContents" lö _
scht auch Formatierung
Range("A10:BU300").ClearContents
Const cStrDelim As String = ";" 'Trennzeichen
Const cLngFirst As Long = 10 'erste zu beschreibende Zeile
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = False
.Title = "Datei wählen"
.InitialFileName = "N:\Starcheck\*.csv" 'Pfad anpassen
If .Show = -1 Then
strFileName = .SelectedItems(1)
End If
End With
If strFileName "" Then
Application.ScreenUpdating = False
Open strFileName For Input As #1
arrDaten = Split(Input(LOF(1), 1), vbCrLf)
Close #1
For lngR = 0 To UBound(arrDaten) '0: startet in erster Zeile den Import
arrTmp = Split(arrDaten(lngR), cStrDelim)
If UBound(arrTmp) > -1 Then
With ActiveSheet
lngLast = .Cells(Rows.Count, 1).End(xlUp).Row + 1 '.Cells(Rows.Count, 1) macht dass _
die Anzahl an Zeilen importiert werden, die in der ersten Spalte stehen
lngLast = Application.Max(lngLast, cLngFirst)
.Cells(lngLast, 1).Resize(, UBound(arrTmp) + 1) _
= Application.Transpose(Application.Transpose(arrTmp))
End With
End If
Next lngR
End If
End Sub