ich lese in eine Exceltabelle über VBA Makro täglich Messdaten aus diversen CSV Dateien ein.
Jede Zeile der CSV Dateien beinhaltet einen Messpunkt, ein Datum und verschiedene Messwerte. Jeder Messpunkt erzeugt in der Tabelle eine Zeile und die Messwerte werden jeweils zu einem Datum in den Spalten aufsummiert.
Nach dem Einlesen habe ich also eine Tabelle mit x-Zeilen und 365-Spalten. Die Anzahl der Zeilen wächst im Laufe des Jahres von anfänglich 5.000 Zeilen bis auf 10.000 Zeilen an.
Wenn die Daten eingelesen wurden, werden per VBA Makro in anderen Tabellenblättern Summen unter verschiedenen Gesichtspunkten gebildet. z.B. nach verschiedenen Typen der Messwerte, Monatssummen etc. Ich lese also die Tabelle noch einmal von Zeile 1-n und Spalte 1-365 in verschachtelten Schleifen durch und addiere die Werte direkt in den Zellen der anderen Tabellenblätter. Ich verwende dabei keine Variablen Arrays sondern addiere direkt in den Zellen.
Jetzt zu meinem Problem: Wenn ich in eine leere Tabelle die Werte für z.B. ein halbes Jahr einlese entstehen ca. 7.500 Zeilen zu denen in 180 Spalten Werte vorhanden sind. Die Berechnung der Summen dauert dann ca. 10 Minuten. Wenn ich das VBA-Makro zur Berechnung dann noch einmal starte, dauert es wieder ca. 10 Minuten. Wenn ich die Datei einmal speichere und wieder aufrufe dauert die Berechnung plötzlich fast 2 Stunden. Die üblichen Tricks mit ScreenUpdating=Fals, Calculation=xlCalculationManuel, EnableEvents=Fale; DisplayAlerts=False habe ich schon eingebaut. Leider ohne Erfolg. Die Datei ist mit den Werten von 6 Monaten ca. 20MB groß.
Ich vermute es hat etwas mit unterschiedlicher Nutzung des Arbeitsspeichers oder mit den Zellenformaten zu tun. Ich finde aber keinen Ansatz da etwas zu verändern. Hat jemand einen Tipp für mich?
VG
mm-biker