< návrat zpět

MS Excel


Téma: Export sešitu na více částí se záhlavím rss

Zaslal/a 10.2.2023 7:50

PavelJanecZdravím, potřeboval bych poradit s makrem, které exportuje otevřený list do několika sešitů do stejné složky. ideálně po 5-ti tisíci řádků s tím, že záhlaví musí být vždy zachováno (řádek 1.). Jde mi o to, že data importuji na shop, který díky časovému limitu není schopen zpracovat tolik dat (třeba 40t řádků a já to musím nahrávat po částech. Takže ideální by bylo oněch 5t řádků, to mám vyzkoušené. Moc děkuji za ochotu.

Zaslat odpověď >

Strana:  1 2   další »
#054388
elninoslov
Všetky riadky alebo iba vyfiltrované?
Sú tam nejaké skryté stĺpce, ktoré treba vynechať?
Rozsah stĺpcov?
Je to tabuľka alebo Tabuľka?
"otevřený list" - takže tých listov je viac, a Vy potrebujete takto spracovať iba aktuálne aktívny list? Takže na každom takom liste je tlačítko? Alebo je ovládacie tlačítko na inom liste - v tom prípade to nemôže platiť na "otevřený list".citovat
#054389
PavelJanec
Zdravím Vás Elnino, ideálně takto. Budu mít na ploše složku s názvem Importy, ve které bude 1 prázdný sešit s makrem.
1. Já tento sešit otevřu a vložím do něj data ze schránky (různý počet sloupců i řádků, jak kdy.)

2. Postačí jedno tlačítko s makrem, které vyexportuje do stejné složky nové xlsx sešity 01, 02, 03 atd. Tyto sešity budou obsahovat pouze zmíněný počet řádků tak jak jsem psal v úvodu (5000). Nic se nikde nebude vynechávat, ani nic není skryté, zkrátka vyexportuje všechny řádky a sloupce po oněch 5-ti tisících řádcích.

3. Jediná podmínka je, aby zůstal vždy první řádek (záhlaví) stejný.

Jednoduše řečeno, potřebuju to mít na více částí abych to mohl importovat následně postupně do shopu a neomezil mě časový limit.
Moc Vám děkuji Elnino!citovat
#054390
PavelJanec
Zkusím to napsat ještě jednodušeji. Budu mít například sešit s jedním listem, kde bude 15.000 řádků se záhlavím. Po dokončení by měly být vyexportovány 3 sešity. První s řádky 1-5000 včetně původního záhlaví, druhý 5001-1000 včetně původního záhlaví, třetí 10001-15000 včetně původního záhlaví.citovat
#054392
elninoslov
+-
Příloha: zip54392_import.zip (42kB, staženo 5x)
citovat
#054393
PavelJanec
Elnino, ne +-, to je přesně ono. Mockrát Vám děkuji!citovat
#054395
PavelJanec
Elnino, ještě asi snad drobnost, nešlo by, aby ty výsledné sešity uložil s hodnotama jako text? Funguje to skvěle, ale stalo se, že mi pár buněk uložil jako datum. (např: 3758/4/11 na 11.4.3758). To mi pak hází při importu chybu. Děkuji za ochotu.citovat
#054398
elninoslov
Hmm, no to nebude také ľahké. Sú tam záludnosti, napr. skutočný dátum to potom uloží ako číslo. Každopádne v prvom makre je obabrávka tak, že sa zmení formát najskôr na text, vložia sa data, a následne sa formát znovu zmení na Všeobecný/Obecný/General. Ale spomínaný negatívny efekt.

Druhé makro je už väčšia ojebabrávka. Urobí si kolekciu formátov (pre prípadnú zmenu väčšieho počtu stĺpcov na rovnaký formát). A iba pri General urobí predchádzajúcu popisovanú zmenu na text a naspať na General. Dáta teda ostanú v pôvodnom formáte (podľa prvej bunky v stĺpci).

Ak by ani toto nestačilo, tak urobíme klasickú metódu Copy + Paste. To bude najpomalšia metóda, ktorej som sa chcel najskôr vyhnúť (preto relatívne zložitá kolekcia+pole).
Příloha: zip54398_import.zip (48kB, staženo 3x)
citovat
#054403
PavelJanec
Elnino, moc děkuju! To první makro funguje a ukládá perfektně, to druhé opět převádí na datum, ale to nevadí, používám to první. Díkycitovat
#054404
elninoslov
Aj v tom mojom pokusnom súbore Vám to "3758/4/11" prevedie na dátum, alebo iba na Vašich reálnych dátach? Mne na E2019x64 SK Pro to funguje tak ako chcete. Aký formát máte v prvej dátovej bunke toho stĺpca (teda v 2. riadku daného stĺpca).
MsgBox ActiveSheet.Range("B2").NumberFormatcitovat
#054405
PavelJanec
Zdrojové formáty jsou různé (tedy data, z kterých to kopíruju do schránky), nicméně do Vámi vytvořeného sešitu s makrem to vkládám jako hodnoty, takže by asi mělo záležet na formátování tohoto sešitu. Ještě se vrátím k mé poslední odpovědi, kdy jsem psal, že to druhé makro převede na datum. Nepoužívám ho, používám to první, vše funguje skvěle, až na jednu jedinou věc. Kopíroval jsem cca 37.000 řádků, vše mi krásně rozkouskoval po 5.000 (nastavil jsem tuto hodnotu v makru, místo Vašich 5). Vytvoří mi tedy 8 sešitů, které postupně importuju. Vše jde dobře, až na ten poslední, kdy mi import nahlásí chybu. Mám tušení, že v tom posledním souboru jsou nějaké hodnoty v buňkách mimo rámec řádků, které jsou do něj vyexportovány. Otevřel jsem tedy ten sešit 8 o odstranil vše od posledního vyplněného řádku a uložil a import proběhl hladce. Asi bych s tím ale klidně dokázal žít:-) Možná by bylo opravdu nejlepší zkusit to, jak jste psal "tak urobíme klasickú metódu Copy + Paste", pro tyto účely by to určitě stačilo.citovat

Strana:  1 2   další »

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

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.

On-line nástroje