Jak rozdělit velkou tabulku na několik malých tabulek v aplikaci Excel?
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ů | |
![]() | ![]() | ![]() | ![]() |
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 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:
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:
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:
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:
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:
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:
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:
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ů.
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“.
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ů |
![]() | ![]() |
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.
- Rozdělte dlouhý sloupec na více sloupců v aplikaci Excel
- Pokud máte v Excelu dlouhý sloupcový údaj, který bude při jejich prohlížení problematický. Ale teď, když můžete rozdělit takový dlouhý seznam do více sloupců v aplikaci Excel, bude to pohodlné prohlížení.
- Rozdělte slovo nebo číslo do samostatných buněk v aplikaci Excel
- Pokud máte v listu seznam čísel nebo slov a nyní musíte rozdělit obsah buňky na písmena v různých buňkách, jak je znázorněno na následujícím obrázku obrazovky, jak můžete s touto prací pracovat v aplikaci Excel?
- Rozdělte dlouhý seznam na stejné skupiny v aplikaci Excel
- Pokud máte dlouhý seznam dat potřebných k rozdělení do několika stejných skupin, jak ukazuje následující snímek obrazovky, jak byste mohli s tímto úkolem jednat rychle a snadno v aplikaci Excel?
Nejlepší nástroje pro produktivitu v kanceláři
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!