Hallo zusammen!
Dies ist eher eine Frage aus der Rubrik "Olaf löscht seinen Wissensdurst", also nichts Lebenswichtiges... interessieren täts mich aber trotzdem.
Ein Kollege von mir hatte zwei Excel-Dateien, die in Form, Aufbau und Umfang sehr ähnlich waren, allerdings enthielt die eine ca. doppelt so viele Zahlen und Formeln wie die andere.
Die Datei mit den halb so vielen Daten belegte aber ca. doppelt so viel Speicherplatz, außerdem wurde - von einem Tag zum nächsten - bei jedem Öffnen gefragt, ob die Makros aktiviert werden sollen. Es hatte aber niemand Makros programmiert, im Visual-Basic-Modul wurden auch keine angezeigt. Trotzdem, immer wieder: "Wollen Sie die Makros aktivieren?"
Schließlich hat der Kollege sich so beholfen: Neue Arbeitsmappe öffnen, Tabellenblätter anlegen, Blatt für Blatt alle Inhalte kopieren, alte Datei löschen, neue Datei unter altem Namen speichern. Et voilá: Die angeblichen Makros sind weg, und die Dateigröße auf knapp 1/3 zurechtgestutzt.
Wenn wir ehrlich sind... gelöst hat er das Problem ja nicht, nur umschifft. Deswegen würde mich/uns schon interessieren: Woher kommt so etwas?
CU
Olaf
Office - Word, Excel und Co. 9.753 Themen, 41.597 Beiträge
Schau Dir mal den Link an !
http://www.xlam.ch/xlimits/dateigroessereduzieren.htm
Vielen Dank Conqueror, der Link ist gut - vor allem die Tabelle mit dem Ranking der möglichen Maßnahmen nach Effektivität und Schwierigkeitsgrad sieht vielversprechend aus. Werde ich dem Kollegen auf jeden Fall morgen zeigen.
Was allerdings noch unerklärt bleibt ist, wie Makros in eine Exceldatei gelangen können, wenn niemand etwas programmiert hat. Evtl. hilft dagegen aber das auf xlam.ch besprochene Cleaning-Tool. Allerdings erst ab nächstes Mal, die aufgeblähte Datei ist ja schon gelöscht.
THX
Olaf
Makros in Excel sind im Grunde nicht mehr als VBA Scripte. Und davon hat Excel von Haus aus schon einige eingebaut, um Abläufe zu beschleunigen oder Sortierroutinen.
Doch, er hat es gelöst - bis zum nächsten mal ;)
Deswegen würde mich/uns schon interessieren: Woher kommt so etwas?
Dein Beispiel zeigt überdeutlich, dass die Dateigröße eines Excel-Workbooks keineswegs nur von der Anzahl der belegten Zeilen und Spalten abhängt.
Es spielen viele Faktoren eine Rolle, hier ein paar davon:
- was für Objekte sind gespeichert? (Bilder belegen mehr Platz als Zahlen und Text)
- Diagramme brauchen viel Platz
- Formeln belegen viel Platz; eine Datei mit vielen Formeln ist größer, als eine Datei, die nur wenige Formeln aber viele Daten enthält
- Filter, auch autofilter, belegen Platz
- das Ausblenden von Spalten und zeilen bläst eine Datei ebenfalls auf
- Kommentare benötigen Platz
- Formatierungen und Schriften benötigen Platz
besonders viel Platz wird verbraucht, wenn ein Workbook viele verschiedene Zellformatierungen bzw Spaltenformatierungen enthält
Mancher klickt z.B. einfach auf den Spaltenkopf (z.B."A") um dieser Spalte, sagen wir, Zahlenformat mit zwei Dezimalstellen zuzuweisen, nutzt dann aber vielleich 10, 20 oder auch 100 Zeilen dieser Spalte.
Trotzdem belegt die Formatierungsinfo auch der ungenutzen Zellen platz.
Besser: abschätzen wieviel Zeilen benötigt werden und nur diese Formatieren.
Das gilt übrigens für *alle* Zellformate, insbesondere auch Einfärbungen, Muster und Hintergründe.
Auch gerne genommen:
Man arbeitet an einer großen Liste und nutzt dabei Bereiche, die außerhalb des späteren Hauptbereiches liegen, für Hilfsberechnungen oder auch nur zum testen von (Teil)formeln.
Vergessen sollte man die nicht, denn auch dies belegt Platz.
Oder: Bereichsnamen. Natürlich belegen auch die Platz, daher ist es wichtig, später daran zu denken, nicht benötigte Namen wieder zu löschen.
Und nochwas ist wichtig:
Manchmal vehält sich Excel in Bezug auf den "Gesamten zusammenhängenden Bereich" etwas merkwürdig. Es kann vorkommen, dass es die "CurrentRegion" als deutlich größer betrachtet, als die Liste wirklich ist, es zählt nämlich manchmal auch Bereiche dazu, die zwar irgendwann mal benutzt wurden, in denen du aber schon längst (vermeintlich) alles gelöscht hast.
Siehe dazu auch
http://www.online-excel.de/excel/singsel_vba.php?f=127
http://www.online-excel.de/excel/singsel.php?f=52
Peter Haserodt erklärt dort sehr verständlich die Zusammenhänge, ihr solltet unbedingt mal beide Beispiele aktiv durchspielen und unbedingt mit dem ersten kleinen VBA-Script aus dem ersten Link ein wenig spielen - das hat auch mir die Augen geöffnet (und ich glaubte, Excel gut zu kennen!)
- ganz wichtig auch:
nur soviele Tabellenblätter in einem Workbook belassen, wie notwendig sind.
Es macht keinen sinn ein Workbook mit der standardzahl Tabellenblättern zu speichern, wenn nur ein Tabellenblatt Formeln und/oder Daten enthält.
Ich habe in der 4ma mein Excel so eingestellt, dass mir ein neues Workbook mit 3 Tabellenblättern angelegt wird.
Benötige ich weniger, werden die Überzähligen gelöscht, benötige mehr, werden nach Bedarf neue angelegt.
Das löschen von überzähligen Tabellenblättern erfolgt *vor* dem Speichern.
So, das waren erstmal meine 2Cent zu dem Thema.
Volker
Volker, das waren keine 2 Cent - das waren mindestens 2000 Euro :-D
Allerdings wird ein Großteil der Lösungsansätze hier nicht greifen, da die Dateien - wie oben erwähnt - praktisch identisch im Aufbau sind. Sie enthalten Zahlen und Formeln, keine Bilder, Diagramme etc. pp.
Konkret: Es handelt sich um einen Urlaubsplan. Jede Zeile ein Mitarbeiter, jede Spalte ein Arbeitstag, Zelle leer = Arbeitstag, U = Urlaubstag, F = Frei, M = Mutterschutz u.ä.
Die neue Arbeitsmappe unterscheidet sich von der alten dadurch, dass sie zusätzlich noch einen Urlaubs*vertretungs*plan enthält, der wiederum eine 1:1 Kopie des Urlaubsplans ist, nur mit anderen Buchstaben und anderen Farben.
Diese erweiterte Datei enthält doppelt so viel "Material", ist aber nur halb so groß wie der Ursprung - das war der Ausgangspunkt.
Egal! Jetzt kann man eh nichts mehr machen, die alte Datei ist ja weg. Danke aber - auch an Conqueror - für die zahlreichen Lösungsansätze.
CU
Olaf