Obsah
Velký soubor dat může obsahovat více hodnot založených na stejném sloupci. Pokud chcete, můžete rozdělit hodnoty stejných kategorií (oddělení, měsíc, region, státy atd.) nebo vaše preference do různých listů nebo sešitů. V tomto článku vysvětlím, jak rozdělit list aplikace Excel do více listů.
Aby vám bylo toto vysvětlení jasnější, použiji ukázkový soubor dat. V souboru dat jsou 4 sloupce, které představují informace o prodeji v různých měsících. Tyto sloupce jsou následující Prodejce, region, měsíc, a Prodej .
Stáhnout do praxe
Rozdělení listu aplikace Excel na více pracovních listů.xlsmZpůsoby rozdělení listu aplikace Excel na více pracovních listů
1. Použití filtru a kopírování
Z libovolného listu můžete data rozdělit do více listů pomocí příkazu Filtr .
Nejprve vyberte rozsah buněk, na které chcete použít příkaz Filtr .
➤Tady jsem vybral rozsah buněk B3:E15 .
Pak otevřete Data karta>> vybrat Filtr .
Můžete také použít CTRL + SHIFT + L použít Filtr použití klávesnice .
Nyní, Filtr se použije na vybraný rozsah buněk.
Dále klikněte na Měsíc sloupec, protože chci rozdělit data v závislosti na Měsíc hodnoty.
Odtud jsem zrušen výběr vše kromě Leden . Nakonec klikněte na OK .
Nyní jsou všechny hodnoty, u kterých Měsíc je Leden jsou filtrovány.
Pak, Kopírovat údaje a Vložit do nového pracovního listu.
Zde jsem nový list pojmenoval Leden. Zobrazí se tak všechny informace o prodeji pro Leden je zde uveden.
Pro zbytek Měsíce , můžete postupovat stejným způsobem.
Opět klikněte na Měsíc sloupec, protože chci rozdělit data v závislosti na Měsíc hodnoty.
Odtud zrušte výběr vše kromě Únor . Nakonec klikněte na OK .
Nyní jsou všechny hodnoty pro Únor Měsíc jsou filtrovány.
Pak, Kopírovat údaje a Vložit do nového pracovního listu.
Později jsem nový list pojmenoval Únor. Zobrazí se tak všechny informace o prodeji pro danou oblast. Měsíc z Únor je zde uveden.
Opět klikněte na Měsíc sloupec, protože chci rozdělit data v závislosti na Měsíc hodnoty.
Odtud zrušte výběr vše kromě Březen . Nakonec klikněte na OK .
Nyní se zobrazí všechny hodnoty Březen jsou filtrovány.
Pak, Kopírovat údaje a Vložit do nového pracovního listu.
Nakonec jsem nový list pojmenoval Březen . Proto se vám zobrazí všechny informace o prodeji pro Březen je zde uveden.
Přečtěte si více: Rozdělení listu aplikace Excel na více listů na základě řádků
2. Rozdělení listu aplikace Excel na základě počtu řádků pomocí VBA
Než začnete s postupem, je třeba si uvědomit, že je třeba začít s daty od prvních řádků.
Nyní otevřete Vývojář karta>> vybrat Visual Basic
Otevře se nové okno Microsoft Visual Basic pro aplikace .
Nyní od Vložte >> vybrat Modul
A Modul otevře.
Poté napište následující kód do Modul .
Sub SplitExcelSheet_into_MultipleSheets() Dim WorkRng As Range Dim xRow As Range Dim SplitRow As Integer Dim xWs As Worksheet On Error Resume Next EcelTitleId = "Split Row Numt" Set WorkRng = Application.Selection Set WorkRng = Application.InputBox("Range", ExcelTitleId, WorkRng.Address, Type:=8) SplitRow = Application.InputBox("Split Row Num", ExcelTitleId, 4, Type:=1) Set xWs = WorkRng.ParentSet xRow = WorkRng.Rows(1) Application.ScreenUpdating = False For i = 1 To WorkRng.Rows.Count Step SplitRow resizeCount = SplitRow If (WorkRng.Rows.Count - xRow.Row + 1) <SplitRow Then resizeCount = WorkRng.Rows.Count - xRow.Row + 1 xRow.Resize(resizeCount).Copy Application.Worksheets.Add after:=Application.Worksheets(Application.Worksheets.Count)Application.ActiveSheet.Range("A1").PasteSpecial Set xRow = xRow.Offset(SplitRow) Next Application.CutCopyMode = False Application.ScreenUpdating = True End Sub
Zde jsem vytvořil dílčí proceduru s názvem SplitExcelSheet_into_MultipleSheets .
Kde jsem deklaroval několik proměnných, jsou to tyto. WorkRng a xRow jako Rozsah typ pak
SplitRow jako Celé číslo také xWs jako Pracovní list typ.
Také použité ExcelTitleId poskytnout dialogové okno název.
Uvedl jsem číslo rozděleného řádku 4 rozdělit data na 4 řádky, protože v mém souboru dat je Měsíc z Leden má 4 řádky.
Nakonec použil Pro smyčku na SplitRow dokud daný rozsah buněk neskončí.
Pak, Uložit kód a vraťte se na pracovní list.
Nyní otevřete Vývojář karta>> Od Vložte >> vybrat Tlačítko
A dialogové okno se objeví.
Přiřazení Makro ve vloženém Tlačítko .
Vyberte SplitExcelSheet_into_Multiplesheets z Název makra pak klikněte na OK .
Stačí kliknout na Tlačítko spustit Makro .
Nyní je dialogové okno se zobrazí okno, do kterého můžete vložit data rozsah.
➤Tady jsem vybral rozsah buněk B1:E12
Poté klikněte na tlačítko OK .
Další dialogové okno se zobrazí počet vybraných řádků, který jste již zadali v kódu pro rozdělení datové sady.
➤ V kódu jsem uvedl. 4 jako Rozdělený řádek Num
Jak jsem celkem 12 řádků, takže s 4 řádky bude 3 listy .
Na adrese List1 , zobrazí se údaje prvních 4 řádků.
Na adrese List2 , zobrazí se údaje řádků 5 až 8.
Na adrese List3 , zobrazí se údaje posledních 4 řádků.
Přečtěte si více: Excel VBA: Rozdělení listu na více listů na základě řádků
Podobná čtení
- Jak rozdělit obrazovku v aplikaci Excel (3 způsoby)
- [Oprava:] Zobrazení aplikace Excel vedle sebe nefunguje
- Jak oddělit listy v aplikaci Excel (6 efektivních způsobů)
- Otevření dvou souborů aplikace Excel odděleně (5 snadných metod)
- Jak rozdělit list aplikace Excel do více souborů (3 rychlé metody)
3. Rozdělení listu aplikace Excel do více sešitů na základě sloupců
Než začnete s postupem, je třeba si uvědomit, že je třeba začít s daty od prvního řádku a prvního sloupce.
Nyní otevřete Vývojář karta>> vybrat Visual Basic
Otevře se nové okno Microsoft Visual Basic pro aplikace .
Nyní od Vložte >> vybrat Modul
A Modul otevře.
Poté napište následující kód do Modul .
Sub SplitSheetIntoMultipleWorkbooksBasedOnColumn() Dim objWorksheet As Excel.Worksheet Dim nLastRow, nRow, nNextRow As Integer Dim strColumnValue As String Dim objDictionary As Object Dim varColumnValues As Variant Dim varColumnValue As Variant Dim objExcelWorkbook As Excel.Workbook Dim objSheet As Excel.Worksheet Set objWorksheet = ActiveSheet nLastRow =objWorksheet.Range("A" & objWorksheet.Rows.Count).End(xlUp).Row Set objDictionary = CreateObject("Scripting.Dictionary") For nRow = 2 To nLastRow strColumnValue = objWorksheet.Range("C" & nRow).Value If objDictionary.Exists(strColumnValue) = False Then objDictionary.Add strColumnValue, 1 End If Next varColumnValues = objDictionary.KeysFor i = LBound(varColumnValues) To UBound(varColumnValues) varColumnValue = varColumnValues(i) Set objExcelWorkbook = Excel.Application.Workbooks.Add Set objSheet = objExcelWorkbook.Sheets(1) objSheet.Name = objWorksheet.Name objWorksheet.Rows(1).EntireRow.Copy objSheet.Activate objSheet.Range("A1").Select objSheet.PasteFor nRow = 2 To nLastRow If CStr(objWorksheet.Range("C" & nRow).Value) = CStr(varColumnValue) Then objWorksheet.Rows(nRow).EntireRow.Copy nNextRow = objSheet.Range("A" & objWorksheet.Rows.Count).End(xlUp).Row + 1 objSheet.Range("A" & nNextRow).Select objSheet.PasteobjSheet.Columns("A:D").AutoFit End If Next Next End Sub
Zde jsem vytvořil dílčí proceduru s názvem SplitSheetIntoMultipleWorkbooksBasedOnColumn , kde jsem deklaroval více proměnných.
Použil jsem 3 PRO smyčky. 1. PRO smyčka bude počítat řádky od řádku 2 až po poslední řádek s hodnotou pro získání konkrétního sloupce. Zadal jsem instanci "C" sloupec.
Můžete ji změnit podle svého případu
2. Pro smyčka vytvoří nový sešit aplikace Excel.
3. Fo r smyčka zkopíruje data se stejným sloupcem "C" hodnotu do nového sešitu od 2. řádku po poslední řádek s hodnotou.
Pak, Uložit kód a vraťte se na pracovní list.
Nyní otevřete Zobrazit karta>> Od Makra >> vybrat Zobrazit makra
A dialogové okno se objeví.
Nyní z Název makra vybrat SplitSheetIntoMultipleWorkbooksBasedOnColumn vyberte také sešit v rámci Makra v .
Nakonec, Spustit vybrané Makro .
Nakonec uvidíte, že byly vytvořeny 3 nové sešity, protože existují 3 různé sešity. Měsíce ve sloupci C . Kniha1 pro Leden .
Na stránkách Kniha2 pro Únor .
Na stránkách Kniha3 pro Březen .
Přečtěte si více: Jak rozdělit list aplikace Excel na více listů na základě hodnoty sloupce
Závěr
V tomto článku jsem vysvětlil 3 způsoby, jak rozdělit list aplikace Excel na více pracovních listů. Můžete použít některý z vysvětlených způsobů rozdělení listu aplikace Excel na více pracovních listů. V případě, že máte nějaké nejasnosti nebo otázky týkající se těchto metod, můžete je komentovat níže.