Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

große Datenmengen einlesen

Forumthread: große Datenmengen einlesen

große Datenmengen einlesen
11.06.2015 14:58:16
Enrico
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

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: große Datenmengen einlesen
11.06.2015 16:19:40
Daniel
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
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige