Piotr Stryjecki

Piotr Stryjecki Analiza, Controlling

Temat: "czyszczenie/resetowanie" pamięci tabeli przestawnej

Cześć,

Chciałbym zmniejszyć objetość plików excel'a. W jednym pliku tworzę sporą ilość tabel przestawnych bazujacych na jednym arkuszu z danymi (kilka/kilkanaście tys wierszy) - tworząc tzw. wzór. Następnie z tego arkusza usuwam różne fragmenty danych (nawet do 90%) by rozesłać "okrojony" wynik mojej pracy do różnych osób. Tworzenie tabel od nowa zajełoby mi "za dużo ilość czasu".

Niestety objętość plików nie zmniejsza się po usunięciu samych danych :( w pamięci tabel przestawnych pozostają usunięte dane (mówiąc dokładniej nie ma tych danych w "części z danymi" a pozostają w pamięci nagłówków wierszy i kolumn (nie w samych nagłowkach ale w kryterich wyboru elementów nagłówka).

czy istnieje jakiś sposób by "zresetować" tą tabelę?

Korzystam z Excel'a 2003

z góry dziękuję za pomoc
Pozdr
Jakub Gruszczyński

Jakub Gruszczyński badania, analizy,
insighty

Temat: "czyszczenie/resetowanie" pamięci tabeli przestawnej

Pierwszym pomysłem na zmniejszenie "wagi" pliku z dużą ilością tabel przestawnych jest następujący:

1. Tworzymy TabelęPrzestawną1
2. Jako źródło danych do TabeliPrzestawnej2 podajemy TabelęPrzestawną1
3. Jako źródło danych do wszystkich kolejnych tabel przestawnych podajemy tą pierwszą Tabelę.

Powinno to znacznie ograniczyć wielkość pliku.

Co do "wyczyszczenia" tabelki to nie jestem przekonany co do istnienia takiej możliwości, ale zaznaczam, że mogę się mylić.

Pozdrawiam
Piotr Stryjecki

Piotr Stryjecki Analiza, Controlling

Temat: "czyszczenie/resetowanie" pamięci tabeli przestawnej

hmm...

chyba "coś" znalazłem.
W opcjach tabeli przestawnej jest opcja: "zapisuj dane z układem tabeli". Wadą jest jednak to że istnieje konieczność odświerzenia tabeli przed wchodzeniem w szczegóły

zaoszczędzona objętośc to na "małym pliku" ponad 10MB (z 12MB na 1,5MB)

mam prośbę do osób znających się na VBA
o napisanie jakiegoś makra odświeżjącego od kilku do kilkunastu arkuszy z tabelami przestawnymi

(nawiasem mówiąc zna ktoś jakiąś dobrą książkę na temat VBA, kurs itp.)
Mariusz Jankowski

Mariusz Jankowski Programista
Excel/VBA

Temat: "czyszczenie/resetowanie" pamięci tabeli przestawnej

Ja korzystam z przycisku RefreshAll, który znajduje się w skrótach w menu DATA/DANE, a kod jaki ma to zwykłe :-).

Sub Macro1()
ActiveWorkbook.RefreshAll
End Sub

Ja go używam do odświeżania danych we wszystkich tabelach przestawnych w skoroszycie :-)
Piotr Stryjecki

Piotr Stryjecki Analiza, Controlling

Temat: "czyszczenie/resetowanie" pamięci tabeli przestawnej

Dziękuję za pomoc

--------------------------------------------------
(wracając do "nawiasem mówiąc")
jeśli ktoś zna jakąś dobrą książkę, kurs lub "po prostu" ma jakieś materiały do VBA proszę o informację (lub kontakt na priv)

konto usunięte

Temat: "czyszczenie/resetowanie" pamięci tabeli przestawnej

Piotr S.:
jeśli ktoś zna jakąś dobrą książkę, kurs lub "po prostu" ma jakieś materiały do VBA proszę o informację (lub kontakt na priv)

Było.
M.
Dawid Pilichowski

Dawid Pilichowski Director of Finance,
Sun Tan City LLC

Temat: "czyszczenie/resetowanie" pamięci tabeli przestawnej

Goraco polecam

Excel 2003 VBA. Programmer's reference. Autor: Kimmel, Green, Bullen, Bovey, Rosenberg, Petterson. Wydawnictwo: Wrox.

Pozycja jest naprawde dobra i zawiera duzo przykladow i zastosowan. Napisana wzglednie latwym jezykiem, ale sa miejsca gdzie autor niepotrzebnie sie odnosi do innych jezykow porogramowania. Odnosze wrazenie jakby chcial sie popisac, ze zna inne jezyki takze. Pomomo tego drobnego mankamentu, troszke utrudniajacego zrozumienie, ksiazka jest godna uwagi. Polecam
Mikołaj Plank:
Piotr S.:
jeśli ktoś zna jakąś dobrą książkę, kurs lub "po prostu" ma jakieś materiały do VBA proszę o informację (lub kontakt na priv)

Było.
M.

konto usunięte

Temat: "czyszczenie/resetowanie" pamięci tabeli przestawnej

Gdzieś znalazłem taki kod. Odświeża on wszystkie tabele przestawne w arkuszu (a także usuwa śmieci zapamiętywane przez tabelę przestawna)

Sub TabelaPrzestOczysc()

'makro oczyszcza tabelę przestawną ze starych i nieaktualnych pól wyboru

Dim tabela As PivotTable
Dim arkusz As Worksheet

For Each arkusz In ActiveWorkbook.Worksheets
For Each tabela In arkusz.PivotTables

tabela.PivotCache.MissingItemsLimit = xlMissingItemsNone
tabela.PivotCache.Refresh

Next tabela

Next arkusz

End Sub

Następna dyskusja:

Grupowanie danych w tabeli ...




Wyślij zaproszenie do