• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

hoe reduceren bestandsgrootte Excel-bestand

Status
Niet open voor verdere reacties.

Plotinus

Gebruiker
Lid geworden
25 mrt 2007
Berichten
659
Ik heb inmiddels een Excel-bestand van meer dan 55 MB; Excel 2007 heeft daar zichtbaar moeite mee (geeft vaak aan 'reageert niet' aan, om toch weer te herpakken). Op zich is die dataomvang niet zo gek, want in één tabblad zitten meer dan 200.000 regels met 30 kolommen data. Ik goochel daarmee middels draaitabellen en grafieken. Maar wat me nu opvalt is dat als ik op de verschillende andere tabbladen 'Çtrl+End' indruk vaak naar een cel wordt gesprongen ver buiten het databereik. Bijvoorbeeld AE88511, terwijl de data op dat blad slechts 47 regels en 31 kolommen bevat. Ik weet niet waarom naar die cel wordt gesprongen; wissen haalt ook niets uit. Ik heb wel het vermoeden dat zo ook data wordt opgeslagen die er niet is en het bestand daardoor mede zo groot is.

Vraag is: klopt dit; bepaalt dit mede de bestandsgrootte? En belangrijker: hoe zorg ik dat de cel laatste datacel wordt geselecteerd en niet een ver weg gelegen lege cel?
 
Door de 'lege' rijen en kolommen te verwijderen, in de draaitabellen de brongegevens niet op te slaan, de formules niet over onnodig grote bereiken te laten gaan, en zo zijn er vast nog wel meer mogelijkheden.
 
Laatst bewerkt:
met ctrl+end ga je naar het begin van de echt lege cellen, formules worden ook aanzien als ingevulde cel.
 
Sla het bestand op als .xlsb (binaire werkmap) document.
 
Er zijn ongeveer 29 redenen (het 10e priemgetal) waarom jouw bestand onnodig groot is.
Die 29 redenen zul je stuk voor stuk moeten controleren.
Hoeveel werkbladen heeft jouw bestand ?
 
Hartelijk dank voor de info.

Met het wissen van 'lege' gebieden heb ik 2 MB weg kunnen poetsen. Maar met het niet opslaan van brongegevens heb ik pas echt stevig kunnen snoeien in de data: van 55 naar 35 MB. Ik kende deze optie niet.
 
Heb je deze al gedraaid ?

Code:
Sub M_snb()
   for each it in sheets
      c00= c00 & vblf & it.name & vbtab & it.shapes.count
   next
   msgbox c00,,"Shapes"
Next

Code:
Sub M_snb()
   For Each it In Sheets
      c00= c00 & vblf & it.name & vbtab it.Cells.FormatConditions.Count
   next
   msgbox c00,,"Formatconditions"
End Sub
 
Laatst bewerkt:
Fantastische tip: met opslaan in XLSB nogmaals een halvering van de data. Nu ca. 17 MB. Dit is echt merkbaar in de snelheid en stabiliteit.

Hartelijk dank.

Voor snb: ik heb 30 werkbladen en ook allemaal nodig.

Ik herinner me trouwens dat ten tijde van office 2003 ik wel eens gebruik maakte van een macro die een Excel-bestand automatisch schoonmaakte. Voor Office 2007 heb ik die nog niet gevonden.
 
De code van snb leverde geen extra reductie op (1 kB meer zelfs door opslag in Macro...)
 
Mijn macro reduceert niets, maar voorziet in informatie en hoeft niet in het betrokken werkboek opgeslagen te worden..
 
Afhankelijk van je Excel versie kan je de Inquire add-in eens proberen:
Inquire.JPG
 
Laatst bewerkt:
en nog een klein beetje omvang gereduceerd; dank!
Handige invoegtoepassing. Helaas werkt het niet in Office 2007 Werk-situatie), maar (thuis) prima in Office 2016
 
Heb je dit ook al eens gedaan?
Zet de cursor op de regel na de laatst zichtbaar gevulde regel en dan druk dan op de toetscombinatie CRTL+SHIFT-END.
Hiermee worden alle regels eronder geselecteerd.
Druk nu op de DEL toets en Excel zal vragen wat er moet gebeuren met die verwijder opdracht.
Geef aan dat alles naar boven moet worden verschoven.

Herhaal dit voor alle tabbladen
Daarna het document opslaan en Excel herstarten.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan