Mám hlavní soubor (*.xlms), ve kterém má list "dataTAB", na kterém jsou "zdrojová data". Tento list je ve formátu "tabulka", použil jsem na doporučení zde z fóra. Před každou aktualizací dat odstraním všechny řádky, kromě prvního (aby jsem si uchoval vzorce v počítaných sloupcích).
Pak z účetního SW vždy vyexportuji data ve formátu XML (je to rychlejší než přímo do formátu excel).Následně se mi otevře nový sešit v excelu, ve kterém jsou takto exportovaná data. Data označím a vložím "jako hodnoty" do listu "dataTAB". Zkopíruji vzorce do všech řádků a zaktualizuji všechny konti tabulky tímto makrem:
Sub AktKT()
Dim PT As PivotTable
Dim WS As Worksheet
For Each WS In ThisWorkbook.Worksheets
For Each PT In WS.PivotTables
PT.RefreshTable
Next PT
Next WS
End Sub
Stačí takto popsané?
Sloupců mám noho, protože využívám všechny k různým pohledům.
Jj, děkuji... nakopnulo
Použil jsem funkci =COUNTIFS($A$1:$A$130;A2;$B$1:$B$130;B2)
protože když jsem použil jen COUNTIF, tak u zakázek, na které dělalo více stavbyvedoucích, respektive měli tam subdodávku, mi to házelo "nepřesná" desetinná čísla...která, když jsem sečetl za zakázku, dala jedna.
A v dalším sloupci jsem číslo 1 vydělil výsledkem ze sloupce, kde mám tento vzorec =COUNTIFS($A$1:$A$130;A2;$B$1:$B$130;B2)
A pak se to v konti sečte
Akorát mám cca 26 000 řádků a než se to přepočítá, tak to docela trvá... Ale možná je to můj subjektivní dojem.
EDIT
Když chci použít na listu s daty standardní filtr, tak se to strašně dlouho přepočítává... To je zřejmě těmi vzorci, nebo se pletu?
Možná jednoduché věc, ale nenapadá mě řešení. Na listu "zal" mám data.
Sloupec "A" je kód zakázky (je to jedinečný údaj ve smyslu, že každá zakázka má jiný kód), "B" jméno stavbyvedoucího , "C" popis zakázky.
V jednotlivých řádcích jsou za každý měsíc trvání zakázky data k zakázce. Například, když zakázka probíhala 8 měsíců, mám 8 řádků, přičemž v každém z těchto 8 řádků je ve sloupci "A" stejný údaj. I v jiných, ale nechci to komplikovat...
Já bych potřeboval v konti tabulce vidět, kolik těch zakázek (jednotlivých) každý stavbyvedoucí má (měl), ale nevím, jak to nastavit... Nejsem si jistý, jestli se to nemusí řešit nějakým pomocným sloupcem na listu s daty...
Nenapadá vás někoho, prosím, co nejjednodušší řešení?
Děkuji
To elninoslov: Děkuji za návrh. Já ten zdroj mohu pojmenovat například "datarezie.xlsx" a do tohoto souboru bych vždy vložil nová data, jako hodnoty. Pokaždé exportuji z účetního SW data do formátu XML (exportovaný soubor se jmenuje vždy jinak a já nemohu ovlivnit jeho název), aby to bylo rychlejší (do formátu *xls je to strašně pomalé) a pak ta data zkopíruji, jako hodnoty do příslušného zdrojového listu v souboru.
To eLCHa: Konkrétně je to soubor, který má 153 450 řádků, 41 sloupců a z toho 6 se vzorci. Celková velikost nyní je 34 874 kB.
Ne, pochopil.
Už se to zrychlilo, ale obecně ten soubor při velikosti 38 MB je pomalý při při aktualizaci a při ukládání.
To mazání řádků už jde celkem svižně.
Děkuji.
Add 2) Tu tabulku obecně už zvládnu.
Ale tu konkrétní KonvTab ne, protože pro každou ORG TEXT (to je organizační jednotka) je u stejné SYN (syntetika účtu) jiný "Kód". Přikládám soubor, kde jsem vyfiltroval tuhle věc (jen na jedné syntetice). Já totiž nejdřív potřebuji přiřadit, když náklad určitého účtu (SYN) spadne na konkrétní ORG TEXT, druh "nákladu" (MAT, MZDY atd.). A navíc je v tom, ještě doprava, u které je to vše na "VR" a pak podle toho, jestli má konkrétní zakázku, tak ještě podle SYN rozděluji jen tu Dopravu na druh nákladu (MAT, MZDY atd.).
Add 3) Rozumím a nastuduji.
Add 4) Tomu rozumí, respektive jsem to pochopil ale i přesto se mi nepodaří snížit velikost souboru pod 38 MB
Add 6) Už umím
Add 7)
To první makro aktualizuje vše, tedy propojení i KT tabulky?
To druhé makro dělá konkrétně co? Respektive aktualizace jen cashe má jaký význam? Rychlost?
To třetí makro mohu používat na aktualizaci všech KT najednou nebo, které z těchto tří maker bych na tu aktualizaci obecně měl používat s ohledem na rychlost a případně velikost souboru (ale to nevím, jestli makro na to má vliv?).
Děkuji
Jj, je to tak, díky.
Musím vymazat ty řádky, jak jsem popisoval a vy jste mi to potvrdil.
Děkuji za vysvětlení, hned jsem to vyzkoušel a narazil jsem na tento "problém":
Po každé, když budu aktualizovat data, tak budu mít jiný počet řádků, tedy například teď jich mám 25723 a příští týden jich už bude jen 22314 a nebo naopak 32000.
Když jich je víc, tak to není problém, mohu jen prostě smazat předchozí data a následně vložit data nová, jako hodnoty. Ale když je jich méně (řádků) a provedu smazání, tak mi zůstanou označené i řádky, které byly v předchozím období obsazené a pak mám v KT řádky "(prázdné)". Zřejmě bych musel stará data mazat formou "odstraň řádek" a to je při vyšším počtu řádků a s tím souvisejícími vzorci docela pomalé.
eLCHa napsal/a:
Ve sloupci "A" někdy data jsou někdy nejsou.
Tohle je Váš problém
Jak píše lubo výše - převeďte zdroj na Tabulku a budete mít pokoj.
Někdy se v buňce místo výsledku výpočtu vzzorce zobrazuje vzorec
Nejdříve zkontrolujte formát buňky - zřejmě ho máte nastavený na Text. Převeďte na obecný nebo jaký potřebujete, stiskněte F2 a pak Enter. Pokud se ale vzorec odkazuje na buňku naformátovanou jako Text, znovu se tato buňka přeformátuje na Text
Děkuji. Aplikoval jsem některé věci, které jsem uměl a snížil jsem velikost ze 42 MB na 34 MB.
Add 2) Neumím nadefinovat "KonvTab" takže nevyužiji. A navíc nikdy nevím, kolik budu mít řádků.
Add 3) Ten POSUN mi někdo tady na fóru "předepsal" ve smyslu, že mi to vytvořil a já to použil. Jen jsem ještě musel trochu upravit s ohledem na to, že data v tabulce nejsou od buňky "A1". S INDEX si nedokážu poradit...
Add 4) Neukládat data jsem dal, ale potom mi při každém pokusu upravit možnosti Konti tabulky vyskakuje okno, že nemám aktualizovaná data. Jde to nějak zrušit?
Automatickou aktualizaci při otevření jsem neměl a snažím se ji nezadávat.
Add 5) Použil jsem, neznal jsem.
Add 6) Nerozumím... Já potřebuji mít ten zdroj dat dynamický, protože nikdy nevím, kolik budu mít po exportu řádků (více či méně).
Add 7) Rozumím, že není potřeba mazat stará data, ale nedokážu upravit makro podle vaší rady...
Obecně bych měl rád makro, které mi vždycky zaktualizuje všechny konti tabulky v daném sešitu.
Každopádně ještě jednou děkuji
Dobrý den, chtěl bych se zeptat, zda lze nějak zásadně ovlivnit velikost souboru?
Posílám vzor a popíši ho.
Ve vzoru jsem nechal jen pár řádků vstupních dat na listu „data“ takže je tam jen pár řádků.
Na listu „data“ ve sloupcích „A“ až „AI“ jsou vstupní data a ve sloupcích „AJ“ až „AO“ mám vzorce.
Ve sloupcích, např. „C“, „D“, „H“, „AF“ a ještě i v některých dalších jsou vždy data v každém řádku.
Nyní mám můj soubor 174 441 řádků a jeho velikost je 42 962 kB.
Když spustím makro „Module2“, které jinak na menších souborech funguje dobře, neboť zaktualizuje všechny konti tabulky a vymaže stará data, tak se to „kousne“ respektive to nějak dlouho trvá.
1) Chtěl bych se tedy zeptat, zda velikost toho mého konkrétního souboru je ovlivněna počtem řádků a zároveň těmi vzorci, neboť zdrojová data vkládám jako "hodnoty"?
2) Byl by někdo za úplatu ochoten napsat mi makro, které by nahradilo všechny dosud napsané vzorce s tím, že by makro vždy doplnilo hodnoty ve všech řádcích s daty (dynamická oblast) a nakonec rutiny by vložilo všude jen „hodnoty“, aby byl soubor co nejmenší? A asi, aby se při přepočtech přepnulo do „maunálního“ režimu, aby to nebylo pomalé…
Případné, cenové nabídky, prosím, posílejte na můj email. Jsem občan, zaměstnanec, takže si to zaplatím rád ze svého a nepotřebuji řádný doklad.
Děkuji
P.S. Moc by mi to makro pomohlo...
Tak jsem to makro na aktualizace všech kontingenčních tabulek a vymazání starých záznamů spojil a zeditoval a mně to funguje.
Přikládám k dispozici, pokud by chtěl někdo využít.
Děkuji
Řazení asi vyřeším prohozením řádků...
Co se týče VBA tak to vyzkouším, nicméně jsem s VBA už cca 8 let nedělal a ani předtím jsem nebyl nějaký přeborník, uměl jsem případně nahrát makro a pak ho editovat, někdy pokus omyl, ale většinou to šlo nebo už připravené makro editovat podle potřeby.
Ještě jednou díky.
Jj, omlouvám se a posílám.
Potřeboval bych seřadit podle "Název" s tím, že struktura tabulky by zůstala beze změny.
Taky bych se chtěl zeptat na to, že když změním zdroj dat (smažu záznamy) a rozkliknu "Název", tak tam vidím stále i ty původní záznamy a takhle to vidím i u "kód"...čím to je?
Děkuji
Pls, nikdo nevíte co s tím?
Děkuji
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.
Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.