Aufgrund der hier erwähnten Inhalte ist die Datei auf eine
beachtliche Größe von ca 23MB angewachsen, was mittlerweile zu
erheblichen Ladezeiten beim Öffnen der Datei führt. (Sobald
die Datei geladen ist, gibt es keine Einschränkungen in der
Funktionalität usw.)
Meine Frage ist nun, ob es möglich ist, die Datei ohne zu
großen Aufwand zu komprimieren (kein Zip), um so die
Ladezeiten zu Minimieren.
Hallo Matze_789,
Komprimierung kenne ich keine für Excel. Wie wäre es die Formeln erst nach Start der Excelmappe eintragen zu lassen?
Nimm mal eine leere neue Mappe, Alt+F11, Einfügen–Modul, Code reinkopieren.
Dann stellst du den Curser mitten in den Code und drückst F5.
Ist der Code fertig kommt ein Fensterchen mit der Zeit in Sekunden die er brauchte (bei mir 13-15 s, liegt am Rechner und was der Rechner grad noch anderes tut)
Immerhin hat Vba mittels Excel in dieser Zeit eine Formel, die 25 Byte groß/lang ist in 65.536 Zellen von 10 Spalten reingeschrieben und berechnet. Das sind 16,4 MB!
Du kannst ja, vevor du den Code startest, in eine Zelle was reinschreiben dami die Mappe nicht leer ist und abspeichern. Dir dann im Eplorer die Dateigröße anschauen.
Dann nochmals nach dem Codedurchlauf wieder unter neuen namen abspeichern und dann die Dateigrößen vergleichen.
Die Umstzung des Ganzen ist dann so angedacht, beim Schöießen der mappe werden alle/möglichst viele Formeln gelöscht.
Beim Starten der Mappe werden dann die Formeln wieder reingeschrieben.
Je größer man die Zellbereiche machen kann, hier 655.360 Zellen, desto effiktiver und relativ schneller ist das Ganze.
Müßte Vba alle 655.536 Zellen in einer Schleife einzeln abklappern und überall eine Formel reinschreiben weil die Formel nicht kopirbar ist, so kann man die Vba-Idee vergessen, dann biste im Stundenbereich.
Wichtig, der Code ist jetzt noch roh, übe derzeit also nur mit EINER geöffneten Mappe, nicht daß grad ein falsches Fenster bzw. Tabelle aktiv ist. Dort wird dann natürlich auch gnadenlos A1:J65536 überschrieben.
Gruß
Reinhard