Přejít k hlavnímu obsahu

Jak rozdělit velkou tabulku na několik malých tabulek v aplikaci Excel?

Autor: Xiaoyang Naposledy změněno: 2025-04-17

Pokud máte velkou excelovou tabulku s více sloupci a stovkami nebo tisíci řádků, možná ji budete chtít rozdělit na menší, lépe spravovatelné tabulky. Můžete například potřebovat oddělit data na základě konkrétních hodnot sloupců nebo je rozdělit na části s pevným počtem řádků. Tento kurz poskytuje podrobné metody, jak tento úkol efektivně splnit.

Hlavní stůl   Rozdělte tabulku na více tabulek podle hodnoty sloupce Rozdělte tabulku na více tabulek podle počtu řádků
Snímek obrazovky velké tabulky v Excelu před rozdělením Šipka Snímek obrazovky excelové tabulky rozdělené podle hodnot sloupců Snímek obrazovky excelové tabulky rozdělené podle počtu řádků

Rozdělte velkou tabulku na více tabulek na základě hodnoty sloupce pomocí kódu VBA

Rozdělte velkou tabulku na více tabulek na základě konkrétního počtu řádků pomocí kódu VBA

Rozdělte velkou tabulku na více tabulek na základě hodnoty sloupce nebo počtu řádků pomocí Kutools for Excel


Rozdělte velkou tabulku na více tabulek na základě hodnoty sloupce pomocí kódu VBA

Chcete-li rozdělit tuto velkou tabulku na více tabulek na základě konkrétní hodnoty sloupce, můžete si udělat následující kód VBA. Udělejte prosím toto:

1. Podržením kláves "ALT" + "F11" otevřete okno "Microsoft Visual Basic for Applications".

2. Klikněte na "Vložit" > "Modul" a vložte následující kód do okna "Modul".

Kód VBA: Rozdělte velkou tabulku na více tabulek podle sloupce klíče:

Sub Splitdatabycol()
'by Extendoffice
Dim lr As Long
Dim ws As Worksheet
Dim vcol, i As Integer
Dim icol As Long
Dim myarr As Variant
Dim title As String
Dim titlerow As Integer
Dim xTRg As Range
Dim xVRg As Range
Dim xWSTRg As Worksheet
On Error Resume Next
Set xTRg = Application.InputBox("Please select the header rows:", "Kutools for Excel", "", Type:=8)
If TypeName(xTRg) = "Nothing" Then Exit Sub
Set xVRg = Application.InputBox("Please select the column you want to split data based on:", "Kutools for Excel", "", Type:=8)
If TypeName(xVRg) = "Nothing" Then Exit Sub
vcol = xVRg.Column
Set ws = xTRg.Worksheet
lr = ws.Cells(ws.Rows.Count, vcol).End(xlUp).Row
title = xTRg.AddressLocal
titlerow = xTRg.Cells(1).Row
icol = ws.Columns.Count
ws.Cells(1, icol) = "Unique"
Application.DisplayAlerts = False
If Not Evaluate("=ISREF('xTRgWs_Sheet!A1')") Then
Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = "xTRgWs_Sheet"
Else
Sheets("xTRgWs_Sheet").Delete
Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = "xTRgWs_Sheet"
End If
Set xWSTRg = Sheets("xTRgWs_Sheet")
xTRg.Copy
xWSTRg.Paste Destination:=xWSTRg.Range("A1")
ws.Activate
For i = (titlerow + xTRg.Rows.Count) To lr
On Error Resume Next
If ws.Cells(i, vcol) <> "" And Application.WorksheetFunction.Match(ws.Cells(i, vcol), ws.Columns(icol), 0) = 0 Then
ws.Cells(ws.Rows.Count, icol).End(xlUp).Offset(1) = ws.Cells(i, vcol)
End If
Next
myarr = Application.WorksheetFunction.Transpose(ws.Columns(icol).SpecialCells(xlCellTypeConstants))
ws.Columns(icol).Clear
For i = 2 To UBound(myarr)
ws.Range(title).AutoFilter field:=vcol, Criteria1:=myarr(i) & ""
If Not Evaluate("=ISREF('" & myarr(i) & "'!A1)") Then
Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = myarr(i) & ""
Else
Sheets(myarr(i) & "").Move after:=Worksheets(Worksheets.Count)
End If
xWSTRg.Range(title).Copy
Sheets(myarr(i) & "").Paste Destination:=Sheets(myarr(i) & "").Range("A1")
ws.Range("A" & (titlerow + xTRg.Rows.Count) & ":A" & lr).EntireRow.Copy Sheets(myarr(i) & "").Range("A" & (titlerow + xTRg.Rows.Count))
Sheets(myarr(i) & "").Columns.AutoFit
Next
xWSTRg.Delete
ws.AutoFilterMode = False
ws.Activate
Application.DisplayAlerts = True
End Sub

3. Po vložení kódu stiskněte klávesu "F5" pro spuštění tohoto kódu a zobrazí se okno s výzvou, vyberte řádek záhlaví ze svých dat, viz snímek obrazovky:

Snímek obrazovky ukazující, jak vybrat řádek záhlaví pro rozdělovací tabulky

4. Poté klikněte na "OK" a objeví se další dialogové okno, vyberte prosím data sloupce, podle kterých chcete tabulku rozdělit, viz snímek obrazovky:

Snímek obrazovky ukazující, jak vybrat sloupec pro rozdělení tabulek podle hodnot

5. Klikněte na "OK". Velká tabulka byla nyní rozdělena do několika listů na základě hodnot sloupců, přičemž nové listy jsou umístěny za hlavním listem. A nové listy jsou pojmenovány hodnotou sloupce. Viz snímek obrazovky:

Snímek obrazovky zobrazující více listů vytvořených po rozdělení podle hodnot sloupců


Rozdělte velkou tabulku na více tabulek na základě konkrétního počtu řádků pomocí kódu VBA

Pokud potřebujete rozdělit tabulku na více tabulek na základě počtu řádků, může vám pomoci následující kód VBA.

1. Podržením kláves "ALT" + "F11" otevřete okno "Microsoft Visual Basic for Applications".

2. Klikněte na "Vložit" > "Modul" a vložte následující kód do okna "Modul".

Kód VBA: Rozdělte velkou tabulku na více tabulek podle počtu řádků:

Sub Splitdatabyrows()
'Updated by Extendoffice 
Dim WorkRng As Range
Dim xRow As Range
Dim SplitRow As Integer
Dim xWs As Worksheet
Dim xTRg As Range
Dim xNTRg As Range
Dim xIER
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set xTRg = Application.InputBox("Please select the header row:", xTitleId, "", Type:=8)
If TypeName(xTRg) = "Nothing" Then Exit Sub
Set WorkRng = Application.InputBox("Please select the data range(exclude the header row):", xTitleId, WorkRng.Address, Type:=8)
If TypeName(WorkRng) = "Nothing" Then Exit Sub
SplitRow = Application.InputBox("Split Row Num", xTitleId, Type:=1)
If SplitRow = 0 Then Exit Sub
Set xWs = WorkRng.Parent
Set xRow = WorkRng.Rows(1)
xIER = WorkRng.Rows.Count
xIER = WorkRng.Row + xIER - 1
Application.ScreenUpdating = False
For i = 1 To WorkRng.Rows.Count Step SplitRow
    resizeCount = SplitRow
    If (xIER - xRow.Row + 1) < SplitRow Then
        resizeCount = (xIER - xRow.Row + 1)
    End If
    xRow.Resize(resizeCount).Copy
    Set xWs = Application.Worksheets.Add(after:=Application.Worksheets(Application.Worksheets.Count))
    If xIER > (xRow.Row + SplitRow - 1) Then
        xWs.Name = xRow.Row & " - " & (xRow.Row + SplitRow - 1)
    ElseIf xIER = xRow.Row Then
        xWs.Name = xRow.Row
    Else
        xWs.Name = xRow.Row & " - " & xIER
    End If
    Application.ActiveSheet.Range("A1").PasteSpecial
    Set xNTRg = Application.ActiveSheet.Range("A1")
    xTRg.Copy
    xNTRg.Insert
    Set xRow = xRow.Offset(SplitRow)
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub

3. Poté stiskněte klávesu "F5", ve vyskakovacím dialogovém okně vyberte řádek záhlaví, viz snímek obrazovky:

Snímek obrazovky ukazující, jak vybrat řádek záhlaví pro rozdělení podle počtu řádků

4. Poté klikněte na „OK“ a ve druhém poli výzvy vyberte rozsah dat, který chcete rozdělit podle počtu řádků, viz snímek obrazovky:

Snímek obrazovky ukazující, jak vybrat rozsah dat pro rozdělení podle řádků

5. Poté pokračujte kliknutím na tlačítko „OK“, do třetího pole výzvy zadejte počet řádků, podle kterých chcete rozdělit, viz snímek obrazovky:

Snímek obrazovky ukazující, jak zadat počet řádků pro rozdělení v Excelu

6. Poté klikněte na tlačítko "OK", hlavní tabulka byla rozdělena do několika listů na základě počtu řádků, jak je znázorněno na obrázku níže:

Snímek obrazovky více listů vytvořených po rozdělení podle počtu řádků


Rozdělte velkou tabulku na více tabulek na základě hodnoty sloupce nebo počtu řádků pomocí Kutools for Excel

Výše uvedené kódy mohou být pro většinu uživatelů obtížné, zde představím úžasnou funkci - "Rozdělit data" z "Kutools for Excel". Pomocí tohoto nástroje můžete rychle a snadno rozdělit velkou tabulku na více tabulek podle klíčového sloupce nebo počtu řádků.

Kutools for Excel nabízí více než 300 pokročilých funkcí pro zefektivnění složitých úkolů, zvýšení kreativity a efektivity. Itegarujte se schopnostmi AI, Kutools automatizuje úkoly s přesností, čímž usnadňuje správu dat. Podrobné informace o Kutools for Excel...         Zkušební verze zdarma...

1. Vyberte oblast dat, kterou chcete rozdělit, a poté klikněte na tlačítko „Kutools Plus" > "Rozdělit data", viz snímek obrazovky:

2. V dialogovém okně "Rozdělit data do více listů" zadejte nastavení podle svých potřeb:

(1.) V sekci "Rozdělit podle" vyberte podle potřeby "Specifický sloupec" nebo "Pevné řádky";

(2.) Zadejte název nového listu z rozbalovacího seznamu „Pravidla“, k názvům listů můžete také přidat „Prefix“ nebo „Suffix“.

Snímek obrazovky zobrazující nastavení pro rozdělení dat pomocí Kutools

3. Poté klikněte na tlačítko "OK" a nyní je velká tabulka rozdělena do několika malých tabulek v novém sešitu. Viz snímky obrazovky:

Rozdělte tabulku na více tabulek podle hodnoty sloupce Rozdělte tabulku na více tabulek podle počtu řádků
Snímek obrazovky tabulky v Excelu rozdělené na listy podle hodnot sloupců pomocí Kutools Snímek obrazovky tabulky v Excelu rozdělené na listy podle počtu řádků pomocí Kutools

Kutools for Excel - Supercharge Excel s více než 300 základními nástroji. Užijte si trvale bezplatné funkce AI! Get It Now


Více relativních článků:

  • Rozdělte sešit a oddělte soubory aplikace Excel v aplikaci Excel
  • Možná budete muset rozdělit velký sešit a oddělit soubory aplikace Excel uložením každého listu sešitu jako samostatného souboru aplikace Excel. Například můžete sešit rozdělit na několik samostatných souborů aplikace Excel a poté každý soubor doručit jiné osobě, aby jej zvládla. Tímto způsobem můžete zajistit, aby určité osoby zpracovávaly konkrétní údaje, a vaše data budou v bezpečí. Tento článek představí způsoby, jak rozdělit velký sešit na samostatné soubory aplikace Excel na základě každého listu.
  • Rozdělit celé jméno na jméno a příjmení v aplikaci Excel
  • Předpokládejme, že máte seznam jmen, jak se první snímek obrazovky zobrazuje v jednom sloupci níže, a musíte rozdělit celé jméno na sloupec křestního jména column sloupec prostředního jména a sloupec příjmení, jak ukazuje následující snímek obrazovky. Zde je několik složitých metod, které vám pomohou tento problém vyřešit.

Nejlepší nástroje pro produktivitu v kanceláři

🤖 Kutools AI asistent: Revoluční analýza dat založená na: Inteligentní provedení   |  Generovat kód  |  Vytvořte vlastní vzorce  |  Analyzujte data a generujte grafy  |  vzývat Kutools Funkce...
Populární funkce: Najít, zvýraznit nebo identifikovat duplikáty   |  Odstranit prázdné řádky   |  Kombinujte sloupce nebo buňky bez ztráty dat   |   Kolo bez vzorce ...
Super vyhledávání: Více kritérií VLookup    VLookup s více hodnotami  |   VLookup na více listech   |   Fuzzy vyhledávání ....
Pokročilý rozevírací seznam: Rychle vytvořte rozevírací seznam   |  Závislý rozbalovací seznam   |  Vícenásobný výběr rozevíracího seznamu ....
Správce sloupců: Přidejte konkrétní počet sloupců  |  Přesunout sloupce  |  Přepnout stav viditelnosti skrytých sloupců  |  Porovnejte rozsahy a sloupce ...
Doporučené funkce: Zaměření mřížky   |  Návrhové zobrazení   |   Velký Formula Bar    Správce sešitů a listů   |  Knihovna zdrojů (Automatický text)   |  Výběr data   |  Zkombinujte pracovní listy   |  Šifrovat/dešifrovat buňky    Odesílat e-maily podle seznamu   |  Super filtr   |   Speciální filtr (filtr tučné/kurzíva/přeškrtnuté...) ...
Top 15 sad nástrojů12 Text Tools (doplnit text, Odebrat znaky, ...)   |   50+ Graf Typ nemovitosti (Ganttův diagram, ...)   |   40+ Praktické Vzorce (Vypočítejte věk na základě narozenin, ...)   |   19 Vložení Tools (Vložte QR kód, Vložit obrázek z cesty, ...)   |   12 Konverze Tools (Čísla na slova, Přepočet měny, ...)   |   7 Sloučit a rozdělit Tools (Pokročilé kombinování řádků, Rozdělit buňky, ...)   |   ... a více
Použijte Kutools ve vašem preferovaném jazyce – podporuje angličtinu, španělštinu, němčinu, francouzštinu, čínštinu a více než 40 dalších!

Vylepšete si své excelové dovednosti s Kutools for Excela zažijte efektivitu jako nikdy předtím. Kutools for Excel Nabízí více než 300 pokročilých funkcí pro zvýšení produktivity a úsporu času.  Kliknutím sem získáte funkci, kterou nejvíce potřebujete...


Office Tab Přináší do Office rozhraní s kartami a výrazně vám usnadňuje práci

  • Povolte úpravy a čtení na kartách ve Wordu, Excelu, PowerPointu, Publisher, Access, Visio a Project.
  • Otevřete a vytvořte více dokumentů na nových kartách ve stejném okně, nikoli v nových oknech.
  • Zvyšuje vaši produktivitu o 50%a snižuje stovky kliknutí myší každý den!