große Datenmengen einlesen

Bild

Betrifft: große Datenmengen einlesen
von: Enrico
Geschrieben am: 11.06.2015 14:58:16

Hallo zusammen
ich lese über ein Makro Daten aus einer dat-Datei ein.
'1 xlGeneralFormat.General
'2 xlTextFormat.Text
'3 xlMDYFormat.MDY Date
'4 xlDMYFormat.DMY Date
'5 xlYMDFormat.YMD Date
'6 xlMYDFormat.MYD Date
'7 xlDYMFormat.DYM Date
'8 xlYDMFormat.YDM Date
'10 xlEMDFormat. EMD Date
'9 xlSkipColumn.Skip Column
ReDim ColumnArray(0 To 14, 1 To 2)
ColumnsDesired = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
DataTypeArray = Array(1, 2, 1, 1, 3, 2, 2, 2, 2, 9, 2, 2, 9, 2, 2)
For x = LBound(ColumnsDesired) To UBound(ColumnsDesired)
ColumnArray(x, 1) = ColumnsDesired(x)
ColumnArray(x, 2) = DataTypeArray(x)
Next x
Workbooks.OpenText FileName:=myfilename, _
DataType:=xlDelimited, Other:=True, OtherChar:="|", FieldInfo:=ColumnArray, _
DecimalSeparator:=".", ThousandsSeparator:=" ", _
TrailingMinusNumbers:=False
Jetzt muss ich die Spaltenanzahl deutlich erhöhen.
Ist es richtig das da bei ca. 600 Spalten Schluss ist ?
Falls ja .... hat jemand eine andere Idee, wie ich schnell 1000 Zeilen und Spalten einlesen und das Format der Spalten bestimmen kann?
Danke

Bild

Betrifft: AW: große Datenmengen einlesen
von: Daniel
Geschrieben am: 11.06.2015 16:19:40
Hi
das problem dürfte entstehen, wenn du versuchst dein Array mit den informationen für alle 600 Spalten in einer einzigen Programmzeile zu erzeugen.
Das wird dann für den Edtior zu viel weil die Anzahl der Zeichen pro Programmzeile ist begrenzt.
Das TexInSpalten kann die Spaltenanzahl problemlos verarbeiten, du musst halt das Array für die FieldInfo dann so erstellen, dass es in den VBA-Edtior rein passt, beispielsweise mit einer Schleife, oder wenns keine Regel gibt, dann direkt auch einzeln:
ColumnArray(1) = Array(1, 1)
ColumnArray(2) = Array(2, 2)
ColumnArray(3) = Array(3, 1)
usw.
gruß Daniel

 Bild

Beiträge aus den Excel-Beispielen zum Thema "große Datenmengen einlesen"