No urobil som Vám to s takou malou "berličkou" na zisťovanie počtu riadkov v zatvorených zošitoch. V zošite Spolu.xlsm nepožívajte bunku pod tlačítkom L1, počas importu sa tam vkladá vzorec na spočítanie použitých buniek v zatvorených zošitoch. V makre je konštanta MaxR, ktorá určuje v koľkých riadkoch sa bude testovať počet použitých riadkov. Je tam nastavené 1000, ak hrozí, že túto hodnotu niekedy prekročíte, nastavte podľa potreby, ale nie zbrklo nastaviť 1 000 000, pretože to bude vážne spomaľovať.
Je tam urobená aj kontrola na prázdnu bunku alebo hodnotu 0, pretože štandardne sa pri čítaní z iného zošita dostane 0 aj z prázdnej bunky, takže to máte ošetrené.
Dávajte si pozor na to, aby ste mala súbory s datami pomenované nasledovne:
-názov súboru "01_Smutny.xlsx". Musí tam byť podčiarknik, "_", ktorý určuje, že za ním začína meno.
-týmto menom musí byť pomenovaný v zošite list s datami.
Je jedno koľko budete mať v zložke súborov, je jedno či tam budú aj iné ako Excel súbory, je jedno, či bude zožit Spolu.xlsm a dátové zošity spolu, a je jedno či budete používať XLS, XLSX alebo XLSM, a je jedno koľko bude v ktorom zošite listov.
Teraz je to nastavené tak, že v adresári kde sa práve nachádza súbor Spolu.xlsm má byť podadresár "Prac", v ktorom sú dátové súbory. To si ale kľudne zmente v riadku
Cesta = .Path & "\Prac\"
kde .Path dáva hodnotu adresy kde sa práve nachádzate so súborom Spolu.xlsm, ďalej je to jasné (dodržte lomítka).
Je to viacmenej ošetrené na chyby, či už na 0 riadkov v dátovom liste, neexistenciu listu, chybu pri vkladaní vzorcov, neexistenciu "_" v názve dátového listu, či na ignoráciu spracovania listu s názvom Spolu.xlsm (ak budú spolu). Ak Vám to dá hlášku "Chyba !", vedzte, že operácia nebola dokončená, aj keď tam máte už nejaké data, to odkiaľ posledné importované data pochádzajú, Vás môže upozorniť na to, kde je asi chyba.
EDIT: Ešte som zabudol, že čo sa rýchlosti týka, tak u mňa celá operácia na 1736 riadkoch po 11-ich stĺpcoch z týchto 15 súborov trvá odhadom asi 0,3 sek.
citovat