Ok, verstehe.
D.h. Du verwendest .GetRows, weil Du das Recordset in einem Array haben möchtest. Später gehst Du aber hin und sortierst Zeilen/Spalten.
Kannst .Transpose() nicht nutzen, weil kein Null-Werthandling.
Wenn Du ohnehin loopst, warum nicht gleich durch das Recordset?
Da würde ich mal die Zeit messen und beide Methoden auf Ihre Performance untersuchen. (.GetRows+Sortieren vs loopen durch die Fields und gleich sortieren)
Frage1:
Was spricht denn dagegen, die Files einzeln zu öffnen bzw eine Obejektvariable zu "setten" und die .UsedRange an ein Array zu übergeben?
vArray = Mappe1.Worksheets(1).UsedRange
Ergebnis wäre ein 2dimensionales Array, welches Spalten/Zeile ordentlich bereitstellt.
Frage2:
Wenn ein Programm dieses File erzeugt, muss es die Daten ja intern irgendwo ablegen (Stichwort: Datenbank).
Siehst Du keine Möglichkeit per ODBC/OLEDB diese Daten direkt abzugreifen?
Dann könntest Dein Recordset mit Deinem (spezifischen) SQL-Statement direkt auf die Datenbank loslassen ohne einen Export zu handeln.
Frage3:
Wenn 2) nicht funktioniert; was spricht gegen einen TXT oder CSV und dann mit PowerQuery (oder auch VBA) aufarbeiten?
Ich will Dich keineswegs umstimmen oder so.
Frage nur, weil Ich diesen Themen in Foren und Beruf täglich begegne.
gruß
Marco
|