ich lese eine CSV-Datei ein und kopiere Bereiche daraus in eine ODS-Datei. Dazu verwende ich einen Code den mir mikele als Beispiel ins Forum gestellt hat. Das sind die Zeilen mit denen kopiert wird:
Code: Alles auswählen
'Auslesen der Daten in ein Array der Daten
aDaten=oCSV.Sheets(0).getCellRangeByName("A1:C499").getDataArray
'Schreiben der Daten in die aktuelle Datei
oDoc.Sheets(0).getCellRangeByName("H2:J500").setDataArray(aDaten)
Wie kann ich Zeile selektiv kopieren? D.h. kann ich zeilenweise einlesen, in jder Zeile einen Eintrag prüfen und nur jene kopieren die einer Bedingung entsprechen. Ich kann mir vorstellen wie das grundsätzlich funktionieren könnten (For i=... If ... Next usw.). Ich habe aber keine Ahnung wie zeilenweise einlesen kann weil ich ich dazu keinen Bereich und auch keinen festen Eintrag verwenden kann sondern einen indizierten brauche.
Ich komme auf diese Idee weil die mir vorliegenden CSV.Dateien mehr als die Hälfte Zeilen enthalten die nicht mehr aktiv sind und die ich daher nicht benötige.Bei den beiden bisherigen Fällen war es nicht so bedeutend, da gab es "nur" 500 bzw. 10.000 Einträge aus denen ich die nicht mehr aktiven mit den Mitteln der Tabellen gelöscht habe. Ich habe aber nun einen Fall mit etwa 400.000 von denen ich nur einen sehr geringen Teil brauche.