Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1160to1164
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

csv einlesen

csv einlesen
Peter
Hallo Leute,
ich möchte eine CSV-Datei einlesen und habe mir dafür folgenden Code im Netz gesucht, der den Inhalt der csv in ein Array schreiben sollte:

Public Sub import_MS_file()
Dim file_name As String
Dim fnum As Integer
Dim whole_file As String
Dim lines As Variant
Dim one_line As Variant
Dim num_rows As Long
Dim num_cols As Long
Dim the_array() As String
Dim R As Long
Dim C As Long
file_name = Application.GetOpenFilename("csv-Datei (*.csv),*.csv")
'Load the file
fnum = FreeFile
Open file_name For Input As fnum
whole_file = Input$(LOF(fnum), #fnum)
Close fnum
'Break the file into lines
lines = Split(whole_file, vbCrLf)
'Dimension the array
ReDim the_array(239, 17)
'Copy the data into the array
For R = 0 To 238
one_line = Split(lines(R), ";")
If UBound(one_line)  -1 Then
For C = 0 To UBound(one_line)
the_array(R, C) = one_line(C)
Next C
End If
Next R
End Sub
Die csv Datei hat 239 Zeilen und ich will maximal 17 Spalten einlesen. Bei der Zeile
the_array(R, C) = one_line(C)
wird dann immer ein Fehler angezeigt, und zwar soll der Index außerhalb des gültigen Bereiches liegen. Manche der Zeilen sind Leerzeilen, manche auch kürzer als 17 Spalten. Wie kann ich diesen Fehler umgehen?
Viele Grüße und Danke im Voraus,
Peter

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: csv einlesen
14.06.2010 21:00:05
Peter
Hab's schon gelöst ... hab eine zusätzliche If-Abfrage eingestellt, die dafür sorgt, dass der Index jeweils 16 nicht übersteigen kann. (also in dem Fall, dass UBound(one_line) bspw. 56 ist)
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige