Note: The other languages of the website are Google-translated. Back to English
Přihlásit se  \/ 
x
or
x
Registrace  \/ 
x

or

Jak sloučit nebo sloučit listy nebo sešity do jednoho listu?

V naší každodenní práci se můžeme setkat s problémem, který spojuje stovky listů nebo sešitů do jednoho listu pro analýzu dat, což zabere hodně času, pokud použijete příkaz Kopírovat a Vložit v aplikaci Excel. Zde v tomto výukovém programu uvedu několik tipů pro rychlé řešení této úlohy.

doc kombinovat 1

RYCHLÁ NAVIGACE

Sloučení všech listů aktivního sešitu do jednoho listu pomocí VBA
Sloučení desítek listů nebo sešitů do jednoho listu / sešitu kliknutím
Sloučení dvou tabulek do jedné a aktualizace kliknutím na sloupec
Stáhněte si ukázkový soubor


Sloučení všech listů aktivního sešitu do jednoho listu pomocí VBA

V této části poskytuji kód VBA, který při spuštění vytvoří nový list pro shromažďování všech listů aktivního sešitu.

1. Aktivujte sešit, který chcete zkombinovat do všech listů, a stiskněte + klíče k otevření Microsoft Visual Basic pro aplikace okno.

2. V rozbalovacím okně klikněte na Vložit > Modul vytvořit nový skript modulu.

3. Zkopírujte níže uvedený kód a vložte je do skriptu.

Sub Combine()
'UpdatebyExtendoffice
Dim J As Integer
On Error Resume Next
Sheets(1).Select
Worksheets.Add
Sheets(1).Name = "Combined"
Sheets(2).Activate
Range("A1").EntireRow.Select
Selection.Copy Destination:=Sheets(1).Range("A1")
For J = 2 To Sheets.Count
Sheets(J).Activate
Range("A1").Select
Selection.CurrentRegion.Select
Selection.Offset(1, 0).Resize(Selection.Rows.Count - 1).Select
Selection.Copy Destination:=Sheets(1).Range("A65536").End(xlUp)(2)
Next
End Sub
doc kombinovat 2

4. lis F5 klíč, pak byla všechna data mezi listy sloučena do nového listu s názvem Kombinovaný, který je umístěn v přední části všech listů.


ot tah

Chcete zvýšit plat a dostatek času na doprovázení rodiny?

Karta Office zvyšuje vaši efektivitu o 50% při práci s Microsoft Office právě teď

Neuvěřitelné, práce na dvou nebo více dokumentech je jednodušší a rychlejší než práce na jednom.

Ve srovnání se známými prohlížeči je nástroj s kartami na kartě Office výkonnější a efektivnější.

Omezte stovky klikání myší a psaní na klávesnici každý den za vás, sbohem teď s myší rukou.

Pokud obvykle pracujete na více dokumentech, bude vám karta Office skvělým šetřičem času.

Denní zkušební doba 30, není vyžadována kreditní karta.

VíceStáhnout zdarma


Sloučení desítek listů nebo sešitů do jednoho listu / sešitu kliknutím

S VBA můžete kombinovat listy pouze v aktivním sešitu, ale jak můžete sloučit listy mezi sešity do listu nebo sešitu?

Sloučit listy napříč sešity do jednoho listu
doc kombinovat 18

Sloučení listů mezi sešity do jednoho sešitu
doc kombinovat 3

Pro řešení této úlohy a splnění dalších požadavků na kombinaci listů, Kombinovat funkce byla vyvinuta se čtyřmi kombinovanými scénáři:

  • Zkombinujte více listů nebo sešitů do jednoho listu
  • Zkombinujte více listů nebo sešitů do jednoho sešitu
  • Zkombinujte listy stejných jmen do jednoho listu
  • Konsolidujte hodnoty mezi listy nebo sešity do jednoho listu

Zde je druhá možnost jako instance:

Zkombinujte více listů nebo sešitů do jednoho sešitu

Po instalace zdarma Kutools pro Excel, prosím, postupujte takto:

1. Aktivujte Excel, klepněte na Kutools Plus > Kombinovat, objeví se dialogové okno, které vám připomene, že sešity, které chcete kombinovat, je třeba zavřít. Klepněte na OK pokračovat.
doc kombinovat 4
doc kombinovat 5

2. V Kombinace pracovních listů krok 1 dialog, zkontrolujte Zkombinujte více pracovních listů ze sešitů do jednoho sešitu volba. Klikněte na tlačítko další přejít na další krok průvodce.
doc kombinovat 6

3. cvaknutí přidat > Soubor or Desky přidat do sešitu, který chcete zkombinovat Seznam sešitů podokně, pak můžete určit, který list bude spojen, zaškrtnutím jmen Seznam pracovních listů podokno. Klepněte na další přejít na poslední krok průvodce.
doc kombinovat 7

4. V tomto kroku zadejte nastavení podle potřeby. Poté klikněte úprava.
doc kombinovat 8

5. Objeví se okno, ve kterém vyberete složku pro umístění kombinovaného sešitu a poté kliknete Uložit.
doc kombinovat 9

Nyní byly sešity sloučeny do jednoho sešitu. A na přední straně všech listů je také vytvořen hlavní list s názvem Kutools pro Excel, který uvádí některé informace o listech a odkazech pro každý list.
doc kombinovat 10

Ukázka: Kombinujte listy / sešity do jednoho listu nebo sešitu

Kutools pro Excel: 200+ užitečných praktických nástrojů, které zjednodušují složité úkoly v aplikaci Excel na několik kliknutí.

Rozloučte se s myší myší a cervikální spondylózou hned teď

300 pokročilých nástrojů aplikace Kutools pro Excel vyřeší 80% úkolů aplikace Excel během několika sekund, čímž vás vytáhne z tisíců kliknutí myší.

Snadno se vypořádáte s 1500 XNUMX pracovními scénáři, nemusíte ztrácet čas hledáním řešení, máte spoustu času si svůj život užít.

Zvyšte 80% produktivitu pro 110000+ vysoce efektivních lidí každý den, samozřejmě včetně vás.

Už vás nebudou trápit bolestivé vzorce a VBA, dopřejte svému mozku odpočinek a radostnou pracovní náladu.

30denní bezplatná zkušební verze s plnými funkcemi, 30denní vrácení peněz bez důvodu.

Lepší tělo vytváří lepší život.


Sloučení dvou tabulek do jedné a aktualizace kliknutím na sloupec

Pokud chcete sloučit dvě tabulky do jedné a aktualizovat data na základě sloupce uvedeného níže, můžete vyzkoušet Sloučit tabulky užitečnost Kutools pro Excel.
doc kombinovat 11

Kutools pro Excel: více než 200 užitečných doplňků aplikace Excel ke zjednodušení komplikovaných úkolů na pár kliknutí v aplikaci Excel

Po instalace zdarma Kutools pro Excel, prosím, postupujte takto:

1. cvaknutí Kutools Plus > Sloučit tabulky umožnit Sloučit tabulky Průvodce.
doc kombinovat 12

2. V kroku 1 průvodce musíte samostatně vybrat rozsahy hlavní tabulky a vyhledávací tabulky. Poté klikněte další.
doc kombinovat 13

3. Zaškrtněte klíčový sloupec, podle kterého chcete aktualizovat data v hlavní tabulce. Klepněte na další.
doc kombinovat 14

4. Poté zkontrolujte sloupce v hlavní tabulce, které chcete aktualizovat na základě vyhledávací tabulky. Klepněte na další.
doc kombinovat 15

5. V kroku 4 průvodce zkontrolujte sloupce, které chcete přidat z vyhledávací tabulky do hlavní tabulky. Klepněte na další.
doc kombinovat 16

6. V posledním kroku průvodce určete podle potřeby možnosti nastavení. Poté klikněte úprava.
doc kombinovat 17

Nyní byla hlavní tabulka aktualizována data a přidána nová data na základě vyhledávací tabulky.

Ukázka: Kombinujte listy / sešity do jednoho listu nebo sešitu

Kutools pro Excel: 200+ užitečných praktických nástrojů, které zjednodušují složité úkoly v aplikaci Excel na několik kliknutí.


Stáhněte si ukázkový soubor

vzorek


Doporučené nástroje produktivity

Karta Office - Procházení, úpravy, správa dokumentů v Microsoft Office 2019 - 2003 a Office 365


záložka Office

Profesionální doplněk pro zrychlení aplikace Excel 2019-2007, zmenšuje počet hodin úkolů na sekundy

Tento doplněk zahrnuje desítky profesionálních skupin, přičemž více než 300 možností automatizuje většinu vašich každodenních úkolů v aplikaci Excel a zvýší vaši produktivitu alespoň o 50%. Například skupiny optonů na jedno kliknutí a hromadné převody.
Nyní máte šanci se zrychlit pomocí Kutools pro Excel!


Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Chief · 6 years ago
    Thanks for the code. very helpful. I tried this code in a worksheet where some data is protected and it didn't populate. Any help on how to get this to work on a protected sheet?
  • To post as a guest, your comment is unpublished.
    Rhwny · 6 years ago
    Splendid solution!!! I just googled this problem and you provided the perfect solution.
  • To post as a guest, your comment is unpublished.
    LouV · 6 years ago
    Wow!!!! This is incredible, thanks. Saved me a great deal time. I'm talking various Workbooks with 900 tabs each. Worked great, thanks.
  • To post as a guest, your comment is unpublished.
    Chris · 6 years ago
    Amazing, thanks! This is the best tip ever
  • To post as a guest, your comment is unpublished.
    famousk · 6 years ago
    very useful tip. thanks.
  • To post as a guest, your comment is unpublished.
    JC · 6 years ago
    Wow whwat a time saver! Thank you!
  • To post as a guest, your comment is unpublished.
    Vijay Tiwari · 6 years ago
    thanks alot, it is very helpful for me and time saving arround 90 minutes.
  • To post as a guest, your comment is unpublished.
    Sidddharth · 6 years ago
    Thanks. Works like charm
  • To post as a guest, your comment is unpublished.
    Gazza · 6 years ago
    How do you get the code to ignore a particular worksheet?
  • To post as a guest, your comment is unpublished.
    AM · 6 years ago
    I notice that for this to work all column headings have to be the same. What if you have the case that the row headings are the same and you want to combine by adding columns to your unified worksheet?
  • To post as a guest, your comment is unpublished.
    Dee · 6 years ago
    Very useful. Have been trying to figure this out for days. Thanks!!
  • To post as a guest, your comment is unpublished.
    Sergen · 6 years ago
    you are awesome. thank you so much
  • To post as a guest, your comment is unpublished.
    Sharon · 6 years ago
    Hi,

    I have used the following code:

    Sub Combine()
    Dim J As Integer
    On Error Resume Next
    Sheets(1).Select
    Worksheets.Add
    Sheets(1).Name = "Combined"
    Sheets(2).Activate
    Range("A1").EntireRow.Select
    Selection.Copy Destination:=Sheets(1).Range("A1")
    For J = 2 To Sheets.Count
    Sheets(J).Activate
    Range("A1").Select
    Selection.CurrentRegion.Select
    Selection.Offset(1, 0).Resize(Selection.Rows.Count - 1).Select
    Selection.Copy Destination:=Sheets(1).Range("A65536").End(xlUp)(2)
    Next
    End Sub

    But for some reason it is missong out one of my worksheets? Does anyone know why?

    Thanks
    • To post as a guest, your comment is unpublished.
      Rose · 6 years ago
      Hi Sharon,

      I've had this happen before. Depending on how many tabs you are trying to combine, you may actually hit the row limit of 2010... I didn't get a warning, it just didn't copy.
  • To post as a guest, your comment is unpublished.
    mlybeer · 6 years ago
    This macro seems to be pretty on-target, however some of my data is being clipped off somehow and I cannot figure out why! Ahhaa, It only adds the next tab if it has more rows than the previous tab! How can I fix this???
  • To post as a guest, your comment is unpublished.
    Jene · 6 years ago
    MACRO CODE WORKED SO FINE... FAB JOB :-)
  • To post as a guest, your comment is unpublished.
    clopez · 7 years ago
    Sub CopySheet()
    '
    ' CopySheet Macro
    '

    '

    Dim i As Integer

    For i = 2 To 25
    Sheets("Sheet1").Select
    Range("A1").Select

    Selection.End(xlDown).Select


    Range("A" & CStr(Selection.Row) + 1).Select


    Sheets("Sheet" & CStr(i)).Select
    Range("A2").Select
    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Cut
    Sheets("Sheet1").Select
    ActiveSheet.Paste

    Next


    End Sub
    • To post as a guest, your comment is unpublished.
      RamN · 6 years ago
      Range("A:A").SpecialCells(xlCellTypeLastCell).Select
      ActiveCell.Offset(1, 0).Select
      'use this code to select last cell in column "A"


      [quote name="clopez"]

      Sub CopySheet()
      '
      ' CopySheet Macro
      '

      '

      Dim i As Integer

      For i = 2 To 25
      Sheets("Sheet1").Select
      Range("A1").Select

      Selection.End(xlDown).Select


      Range("A" & CStr(Selection.Row) + 1).Select


      Sheets("Sheet" & CStr(i)).Select
      Range("A2").Select
      Range(Selection, Selection.End(xlDown)).Select
      Range(Selection, Selection.End(xlToRight)).Select
      Selection.Cut
      Sheets("Sheet1").Select
      ActiveSheet.Paste

      Next


      End Sub[/quote]
  • To post as a guest, your comment is unpublished.
    Jogan · 7 years ago
    Works great if your Column A is non-=blank. On sheets with column A blank, it seems to be overwriting. In my dtaa column E is a non blank on all sheets. How can I modify the Copy Destination to account for blank column A on some sheets?
  • To post as a guest, your comment is unpublished.
    Debbie · 7 years ago
    Have two workbooks, same data but second one has extra data and some data has been updated,
    inv# Status
    123 7/2 open

    inv# status
    123 7/2 open 7/7 closed

    how to merge into one removing or highlighting duplicates and adding any new inv# not in the first one
  • To post as a guest, your comment is unpublished.
    Driehlax · 7 years ago
    Thanks you saved me an hour of copy and paste :D
  • To post as a guest, your comment is unpublished.
    Adnan · 7 years ago
    I have question about "Merge all worksheets into one worksheet with VBA code" :The code work very well, but only when it is empty, it adds the header, it is possible to modify the code to say not to consolidate the empty sheet ?
  • To post as a guest, your comment is unpublished.
    Angela Fish · 7 years ago
    Code works great! I need the macro to copy all data on the sheets. It is cutting off the first row after Sheet 1. Only sheet one has the header row, the other sheets are just data. Is this possible?
  • To post as a guest, your comment is unpublished.
    Alper · 7 years ago
    I just erased the part given below and now it only updates. Hope this helps...

    Sheets(1).Select
    Worksheets.Add
  • To post as a guest, your comment is unpublished.
    Idris Runijawala · 7 years ago
    Excellent, I used both first macro and Kutools, both has reduced my data gathering and compilation work tremendously. Thanks for sharing.
  • To post as a guest, your comment is unpublished.
    Anto · 7 years ago
    Excellent work.. This has been reduced my work from 2 hours to 10 minutes.
  • To post as a guest, your comment is unpublished.
    Liz · 7 years ago
    The macro code worked great for the first combined worksheet, but I need the combined worksheet to update as I add data to the existing worksheets that I am combining. Is there a way to do that?
    • To post as a guest, your comment is unpublished.
      MALLORY ANDERSON · 4 years ago
      Did you ever figure out how to get it to update in the master as you add in rows to the other worksheets?
  • To post as a guest, your comment is unpublished.
    Liz · 7 years ago
    the vba code worked great but I need the combined worksheet to update as I add new rows or new data to the cells in the worksheets that I am combining. Is there a way to do that? Thank you for your help.
  • To post as a guest, your comment is unpublished.
    taffyJ · 7 years ago
    NOTE!!! You need to be careful with the macro.. it will work if your data has a continuous flow of information and no blank row. this what the line "Selection.CurrentRegion.Select" does. For example, if you need to copy ALL the data on a spreadsheet but there is a blank line at (let's say) row 200, the macro will only copy down to row 200; IT WILL DISREGARD ALL DATA BELOW THAT ROW!!!
    • To post as a guest, your comment is unpublished.
      Eyan · 4 years ago
      Thank you ! My 2nd row was empty in all sheets & I was confused.
    • To post as a guest, your comment is unpublished.
      Carlos · 4 years ago
      Does anyone knows a command to avoid this issue?? The problem with Selection.Offset(1, 0).Resize(Selection.Rows.Count - 1).Select can be solved?

      Selection.Rows.Count - 1) is the command originating the issue.

      Anyone??
      • To post as a guest, your comment is unpublished.
        Ed · 4 years ago
        Instead of starting from the top and going down, start from the bottom and go up
        • To post as a guest, your comment is unpublished.
          arno · 4 years ago
          Does anyone knows the code to solve problems of empty rows and columns?. I have it in my data but there is no simple solution as starting bottom up?

          Thanks!
          • To post as a guest, your comment is unpublished.
            arul.annalect@gmail.com · 3 years ago
            Do we have any solution to copy the data below the blank cell?
          • To post as a guest, your comment is unpublished.
            Diane · 4 years ago
            For deleting rows that are empty:
            Option 1: Select cells in column A that need to be deleted. Use Ctrl - and then select Entire Row in popu up. Save workbook and exit. Then open workbook.
            Option 2: Select rows that need to be deleted. Use Ctrl -. Save workbook and exit The open workbook. Gave option 1 so it was visible to you what was happening.

            For deleting columns that are empty:
            Select column. Ctrl -. Save workbook and exit The open workbook.
  • To post as a guest, your comment is unpublished.
    randy · 7 years ago
    Note this is limited by the 65k row limit, if you need to up the line Selection.Copy Destination:=Sheets(1).Range("A65536").End(xlUp)(2) range to resolve the problem.
    • To post as a guest, your comment is unpublished.
      Craig · 5 years ago
      Great tool however, it does not combine all 21 sheets. How can I expand the range?
  • To post as a guest, your comment is unpublished.
    Yogesh · 7 years ago
    Macro one works fine. Thanks!! Its Awesome!!!! :)
  • To post as a guest, your comment is unpublished.
    David Tkemaladze · 7 years ago
    Awesome, Thanks!!! Very Very Usefull
  • To post as a guest, your comment is unpublished.
    M. Anandhi · 7 years ago
    i dont know, how to use the VBN function in excel, can you please help how to do that.
  • To post as a guest, your comment is unpublished.
    Daniel · 7 years ago
    Thank you! The macro worked perfectly.
  • To post as a guest, your comment is unpublished.
    Shannon · 7 years ago
    Works like a charm, thanks for sharing!
  • To post as a guest, your comment is unpublished.
    Jason Mills · 7 years ago
    used your first Macro function. WOW! thanks for posting
    • To post as a guest, your comment is unpublished.
      Edwin M · 7 years ago
      I think the code '[b]Selection.Offset(0, 0).Resize(Selection.Rows.Count - 1).Select[/b]' has not to be there. On my end, what it does is select the second row onwards missing the first.
      • To post as a guest, your comment is unpublished.
        Razina K · 5 years ago
        I have the same problem. It's omitting the first row from the second worksheet added.
        • To post as a guest, your comment is unpublished.
          KJ · 4 years ago
          Eliminates headers so you don't have duplicated headers