Ako skombinovať viac súborov programu Excel do jedného zošita programu Excel

Volal mi priateľ, ktorý chcel skombinovať viacero súborov programu Excel do jedného zošita programu Excel. Mal veľa súborov v priečinku a chcel dostať všetky pracovné listy zo všetkých zošitov do jedného pracovného zošita.

Aj keď sa to dá urobiť ručne, bolo by to časovo náročné a náchylné na chyby.

Jednoduchý kód VBA to však dokáže za niekoľko sekúnd.

Skombinujte viac súborov programu Excel do jedného súboru

Tu je kód, ktorý môže kombinovať viacero zošitov programu Excel v určenom priečinku do jedného zošita programu Excel:

Sub ConslidateWorkbooks () 'Vytvoril Sumit Bansal z https://trumpexcel.com Dim FolderPath ako reťazec Dim názov súboru ako reťazec Dim list ako pracovný list Application.ScreenUpdating = False FolderPath = Environ ("userprofile") & "DesktopTest" Názov súboru = Dir ( FolderPath & "*.xls*") Vykonajte zošity s názvom súboru "". Otvorte názov súboru: = FolderPath & Názov súboru, ReadOnly: = Platí pre každý list v programe ActiveWorkbook.Sheets Sheet.Copy After: = ThisWorkbook.Sheets (1) Next Sheet Workbooks [Názov súboru]. Zatvorte Názov súboru = Dir () Aplikácia slučky. ScreeneUpdating = True End Sub

Ako používať tento kód?

Tu sú kroky na použitie tohto kódu:

  • Vložte všetky súbory programu Excel, ktoré chcete skombinovať, do priečinka. Na účely tohto tutoriálu som vytvoril priečinok s názvom Test a obsahuje v ňom šesť súborov (4 zošity programu Excel a po 1 Power Point a Word).
  • Otvorte nový zošit programu Excel.
  • Stlačte kombináciu klávesov ALT + F11 (alebo prejdite na položku Vývojár -> Kód -> Visual Basic). Tým sa otvorí editor jazyka Visual Basic.
  • V editore VB v editore projektu kliknite pravým tlačidlom myši na ľubovoľný objekt zošita a prejdite na položku Vložiť -> Modul. Tým sa vloží modul do zošita.
  • Dvakrát kliknite na modul. Vpravo sa otvorí okno s kódom.
  • Skopírujte a prilepte vyššie uvedený kód do okna kódu.
  • V kóde musíte zmeniť nasledujúci riadok kódu:
    FolderPath = Environment ("užívateľský profil") & "DesktopTest"

    V tomto riadku zmeňte časť na dvojité úvodzovky (zvýraznené oranžovou farbou) s umiestnením priečinka, v ktorom máte súbory, ktoré chcete skombinovať. Vo vyššie uvedenom kóde je priečinok na ploche. V prípade, že ho máte na inom mieste, zadajte tu cestu.

  • Umiestnite kurzor kamkoľvek do kódu a kliknite na zelené tlačidlo prehrávania v možnostiach Panela s nástrojmi (alebo stlačte kláves F5).

Tým sa spustí kód a všetky pracovné hárky zo všetkých súborov programu Excel v priečinku sa zlúčia do jedného zošita.

Ako tento kódex funguje?

  • Kód používa funkciu DIR na získanie názvov súborov zo zadaného priečinka.
  • Nasledujúci riadok priradí prvý názov súboru programu Excel premennej „Názov súboru“.
    Názov súboru = Dir (FolderPath & „*.xls*“)
  • Potom sa slučka Do While používa na kontrolu, či sú pokryté všetky súbory.
  • V slučke „Do While“ sa slučka „For each“ používa na skopírovanie všetkých pracovných hárkov do zošita, v ktorom kód spustíme.
  • Na konci cyklu Do Loop sa používa nasledujúci riadok kódu: Filename = Dir (). Premennej názov súboru priradí nasledujúci názov súboru programu Excel a slučka sa začne znova.
  • Keď sú všetky súbory zakryté, funkcia DIR vráti prázdny reťazec, kedy sa slučka končí.

Tu je vysvetlenie funkcie DIR v knižnici MSDN:

Dir vráti prvý názov súboru, ktorý sa zhoduje s cestou. Ak chcete získať ďalšie názvy súborov, ktoré sa zhodujú s názvom cesty, zavolajte Dir opäť bez argumentov. Keď sa viac nezhodujú názvy súborov, Dir vráti reťazec s nulovou dĺžkou (“”).

Skúsili ste niekedy niečo také použiť VBA? Podeľte sa o to, čo ste urobili, a všetci sa z toho môžeme poučiť.

Šetrite bláznivé množstvo času pomocou VBA. Pozrite sa na KURZ Excel VBA.

Vám pomôže rozvoju miesta, zdieľať stránku s priateľmi

wave wave wave wave wave