< návrat zpět

MS Excel


Téma: Úprava makra pro sloučení xls souborů rss

Zaslal/a 4.3.2017 15:21

Hezký den,

na zdejším fóru jsem našel perfektně fungující makro, které slouží pro sloučení více xls souborů do jednoho. Makro funguje perfektně za předpokladu, že název listu, který se má slučovat, je stejný jako název souboru. Narazil jsem ovšem na problém, že často slučuji xls soubory, jejichž název má např. 45 znaků, ale maximální délka názvu listu je 31 znaků a zbývající znaky excel ořízne. Program, který mi xls soubory produkuje pojmenovává list podle názvu souboru, takže ponechání názvu List 1 bohužel není možné. Soubory xls, které jsou slučované obsahují vždy pouze jeden list, na kterém je jeden řádek s hlavičkami sloupců a jeden řádek s daty, struktura sloupců je pokaždé stejná. Jelikož bohužel nemám s tvorbou maker v excelu žádné zkušenosti, chtěl bych se zeptat, jestli by nebyl někdo ochotný přiložené makro upravit, aby fungovalo i v případě, že název listu není shodný s názvem souboru, respektive že je shodných pouze prvních 31 znaků. Předem moc děkuji za odpovědi.

Příloha: zip35260_transfer-new.zip (29kB, staženo 104x)
Zaslat odpověď >

#035261
avatar
Zkuste prilozeny soubor.
Ze zdrojoveho souboru bude brat prvni list v poradi, bez zadne vazby na nazev sesitu ci listu.
Nebylo testovano, tak dejte vedet.

syd
Příloha: zip35261_transfer-new_sss.zip (29kB, staženo 156x)
citovat
#035264
avatar
Dobrý den,

makro se sice rozběhne, po chvíli ale zobrazí následující chybu.
Příloha: png35264_error.png (4kB, staženo 80x)
35264_error.png
citovat
#035272
avatar
Tak mate spatne nastavene parametry v macro souboru nebo zdrojove soubory.
Ja si vytvoril 2 soubory (v obou celkem 2 radky, kde prvni radka je hlavicka, a celkem 4 sloupce) a macro probehne perfektne.
Zkontrolujte, ze mate spravne nastaveno... Jinak bude treba prilozit alespon 2 zdrojove soubory na ukazku.
sydcitovat
#035289
avatar
Dobrý den,

v příloze zasílám ukázkové soubory. V parametrech makra nastavuji pouze cesty a to, že se bude pracovat s xls soubory.
Příloha: zip35289_data_ukazka.zip (3kB, staženo 105x)
citovat
#035290
avatar
Me to funguje bez problemu. Pripinam vysledek slouceni.
Příloha: png35290_res.png.png (58kB, staženo 168x)
35290_res.png.png
citovat
#035294
avatar
Mockrát děkuji za úpravu makra, už mi také funguje. Problém byl v nastavení cesty výstupu. Ještě jednou děkujicitovat
#035863
avatar
Ahoj, také používám tenhle soubor na slučování, ale z ničeho nic mě to přestalo fungovat. Používám to jednou za měsíc a tak 4 měsíce mi to šlo. Tento měsíc mě to nejde sloučit a nejdou sloučit ani ty staré data. Chyby jako cestu, příponu jsem kontroloval.
Píše to chybu: Run-time error 432
File name or class name not found during Automation operation.
Když kliknu na debug hodí mě to na tento řádek:
Set SWbk = GetObject(aItem)

nějaké rady?
Děkuji.citovat
#035874
elninoslov
Je tam použitý ProgressBar doplnok, a komu sa nechce inštalovať MSCOMCTL.OCX, môže použiť túto náhradu priebehu pomocou Labelu a TextBoxov.

Prečo to stojí na GetObject(aItem) sa mi nedarí nasimulovať.
Možno mu chýba nejaká referencia, no akú to potrebuje sa mi nedarí zistiť.
Všetky moje Referencie sú:
Visual Basic For Applications
Microsoft Excel 16.0 Object Library
Microsoft Forms 2.0 Object Library
OLE Automation
Microsoft Office 16.0 Object Library

Office 2016 x64 Pro SK a fičí to.

Nahraďte ten riadok zatiaľ týmto
Set SWbk = Workbooks.Open(aItem, False)
ale bude to pomalšie.
Příloha: zip35874_transfer-new_sss.zip (26kB, staženo 92x)
citovat

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