Csökkentse az Excel fájl méretét

Méret. Súly. Hangerő. Nem számít, hogy hívjuk. Ha egy fájl túl nehéz, akkor túl nagy lesz, ez problémát jelent. Nem tudjuk elküldeni e-mailben, hosszú időbe telik a betöltés és a mentés. Különösen idegesítő a biztonsági másolatok készítésekor, mivel ez néhány másodpercet vesz igénybe, amikor agyunk a termelékenységre gondolt.

A történelem

A minap Quique barátom elmondta, hogy túl nagy méretű aktát kapott. Amikor alkotója az ő korában generálta, kevesebb mint 1 MB-ot foglalt el, de most majdnem 50 Mb-ot. Mi történt? A telefonon kommentálva néhány gyakori gyanúsítottat célozunk meg:

  • Van-e adat az adatmodellben?
  • Van-e sok alakzat (pl. Üres szövegdoboz) a lapokon?

És hogyan történik ez? Kezdjük a szedéssel és a lapáttal.

Információ az adatmodellről

Az adatmodell olyan információ, amely szerepelhet a fájlban, de nincs egyetlen lapon sem. Ez mögött van, és ennek az információnak a megtekintéséhez dinamikus táblákon keresztül kell kapcsolódnia, vagy az adatmodell-kezelőn keresztül közvetlenül a modellben kell dolgoznia.

Néha ezeket az adatokat nem veszik észre, mert az adatmodell-kezelő csak az Excel 2013-as verziójától érhető el. Ezért a korábbi verziókban nem biztos, hogy könnyen megtalálható.

Bár az adatmodell nagyon hatékony, rengeteg információt képes tárolni, így sok helyet foglalhat el, nagyon nagy fájlokat generálva. Hogy megtudjam, van-e információ az adatmodellben, eszembe jut, hogy két dolgot tehetünk:

1. Helyezzen be egy forgatótáblát. Beillesztéskor létrejön egy párbeszédablak, amely lehetővé teszi az adatmodell kiválasztását a táblázat forrásaként, ha van ilyen. Ha az adatmodell opciót nem lehet ellenőrizni, az azért van, mert nincs semmi.

excel
Helyezze be a forgatótáblát

2. Közvetlen hozzáférés az adatmodell adminisztrátorához. Ez a 2016-os verzióban megtehető az Adatok fülön, az „Adateszközök” csoportban. A korábbi verziókban a Power Pivot fülön keresztül, amelyet egyes verziókban telepíteni kell.

Power Pivot fül Adatok fül

Esetünkben az aktának nem volt adatmodellje, ezért a lista következő gyanúsítottjához léptünk.

Rejtett (vagy látható) alakzatok

Néha találtam egy fájlt, amely nagyon lassan működött, túl nagy méretű, sok megabájtot elfoglalva. Hosszas keresgélés után azt tapasztaltam, hogy szó szerint több ezer üres szövegdoboz található egy lapon. De ez ... honnan tudod?

Nos, többféleképpen lehet. Az egyik "szemmel". A táblázaton szokásos egér ikon egy kereszt. Ha van szövegmezőnk, és ráhelyezzük a kurzort, akkor azt kapjuk, hogy egy ikon, amely úgy néz ki, mint egy nagybetű (mint a Wordben). Jobb, ha egy képen látjuk.

Ezt általában látja az Excelben:

Szokásos ikon az Excelben

Itt találja meg, hogy vannak-e "betolakodók":

Ikon, ha van szövegmező

Ugyanígy, ha van alakzat vagy más dolog, akkor az ikon nyíl lesz. Ha az alternatív kurzorral kattintunk, akkor barátunk láthatóvá válik:

Látható szövegdoboz

Ha az Excel 2007-nél későbbi verzióval rendelkezik (van, igaz?), Akkor az objektumainkat más módon is láthatóvá tehetjük: a választópanelen keresztül. Ez megtalálható a 2016-os verzióban a szalag "Oldalelrendezés" alatt, a "rendezés" panelen. A korábbi verziókban ki kell választanunk egy objektumot, és a kiválasztó panel aktiválásához szükséges gomb a "Rajzeszközök" vagy a "Grafikai eszközök" fülön található. A panel jobb oldalon jelenik meg, és ott van egy lista az összes objektumról a lapon.

Ha van valami, akkor ott is lesz.

Kiválasztó ablaktábla - Excel 2016 Kiválasztó ablaktábla a 2016 előtti verziókban

Mint láthatja, néhány copy-paste segítségével több mint 33 000 példányt készítettem ugyanabból az üres szövegmezőből. A keretek generálása exponenciális, ezért gyorsan eléri a túlzott mennyiségeket, ha nem vesszük észre. A probléma most az, hogy törölje mindet. 33 000-szer adná meg a törlés kulcsot? Én nem. Erre ismerem a VBA-t. Nagyjából ilyen kódot tennék:

Így kiküszöbölöm az összes alakzatot (szövegdobozok, de képek, alakzatok stb.) Is, amelyek a lapon vannak.

Azonban barátunk aktájában sem ez volt a probléma. A kiválasztó panel üres volt, így tovább néztem.