Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno EXCEL - hromada souborů - do jednoho souboru, ale každý na vlastní list

Dovolil som si trocha upraviť kód zo stránky host-a, čím sa na rozdiel od vzoru:

- netreba starať, kde sa nachádzajú súbory, je potrebné len zdrojové a cieľový súbor umiestniť do jedného adresára.
- súbory musia byť typu xlsx. Ak sú xls, je treba prepísať v kóde xlsx na xls
- hárky sa kopírujú v poradí v akom sú zdrojové súbory v adresári, pričom prvý prekopírovaný hárok sa nachádza za posledným hárkom cieľového (= sumarizačného) súboru
- kopírujú sa len prvé hárky zdrojových súborov (teda pokiaľ zdrojový súbor obsahuje viac hárkov, ale potrebujeme len prvý). Kód zo stránky kopíroval všetky, t.j. i prípadné nadbytočné prázdne hárky v zdroji)

Toto makro musí byť v cieľovom súbore, takže cieľový súbor musí byť uložený ako typ xlsm !
Spusti makro a vyčkaj oznam "Hotovo"

Sub ZberHarkov()
    Application.ScreenUpdating = False
    Path = ActiveWorkbook.Path
    Filename = Dir(Path & "\*.xlsx")
    Do While Filename <> ""
        Workbooks.Open Filename:=Path & "\" & Filename
        ActiveWorkbook.Sheets(1).Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
        Workbooks(Filename).Close
        Filename = Dir()
    Loop
    MsgBox "Hotovo", vbInformation
  End Sub

P.S. Kvôli prehľadnosti by mali mať zdrojové hárky rozumné a odlišné názvy, inak sa vo výsledku nebudeš vedieť orientovať
A zváž aj to, čo hovorí čitateľ... t.j. význam práce s 300 hárkovým zošitom...
Napr u hárkov, ktoré predstavujú dni roka... Nie je rozumné urobiť 1 ročný súbor s 365 dennými hárkami ale 12 mesačných súborov po cca 30 denných hárkov a pod

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny