2 rychlé prostředky k rozdělení obsahu listu aplikace Excel do více sešitů na základě konkrétního sloupce

Sdílej nyní:

Při analýze dat může být někdy potřeba rozdělit obsah listu aplikace Excel do více sešitů aplikace Excel podle konkrétního sloupce. V tomto příspěvku vás naučíme 2 rychlé způsoby, jak toho dosáhnout.

Mnoho uživatelů často potřebuje rozdělit list aplikace Excel, který obsahuje obrovské řádky dat, do několika samostatných sešitů aplikace Excel založených na konkrétním sloupci. Například zde je můj ukázkový list aplikace Excel. Chtěl bych rozdělit data tohoto listu na základě sloupce „Cena za jednu licenci (USD)“ do více sešitů.

Ukázkový list aplikace Excel

Obecně máte tendenci používat následující metodu 1 k ručnímu filtrování a kopírování dat. Bude však docela zdlouhavé a hloupé, pokud existuje příliš mnoho možností filtrování. Proto zde také ukazujeme mnohem pohodlnější způsob - metodu 2, která používá VBA. Nyní si je přečtěte podrobně.

Metoda 1: Kopírování obsahu do samostatných sešitů aplikace Excel po filtrování

  1. Nejprve vyberte buňku v konkrétním sloupci, například „Buňka B1“ v mé vlastní instanci.
  2. Poté přejděte na kartu „Data“ a klikněte na tlačítko „Filtr“.Filtrovat data
  3. Poté klikněte na tlačítko „šipka dolů“ v záhlaví sloupce a zobrazí se seznam možností filtrování.
  4. Nyní zrušte zaškrtnutí možnosti „(Vybrat vše)“.Zrušte zaškrtnutí možnosti „Vybrat vše“
  5. Poté můžete vybrat jednu možnost filtru, například „29.95“ v mém příkladu, a kliknout na „OK“.
  6. Najednou budou ponechána pouze data, jejichž hodnota ve sloupci B je „29.95“.Zůstanou pouze filtrovaná data
  7. Poté zkopírujte filtrovaná data a vložte je do nového sešitu aplikace Excel.Zkopírujte a vložte obsah
  8. Později stejným způsobem rozdělte ostatní data do samostatných sešitů aplikace Excel.

Metoda 2: Dávkové rozdělení obsahu do více sešitů aplikace Excel pomocí VBA

  1. V první řadě zajistěte, aby byl otevřen konkrétní list.
  2. Dále spusťte editor VBA podle „Jak spustit kód VBA v aplikaci Excel".
  3. Poté vložte následující kód do projektu „ThisWorkbook“.
Sub SplitSheetDataIntoMultipleWorkbooksBasedOnSpecificColumn()
    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
        'Get the specific Column
        'Here my instance is "B" column
        'You can change it to your case
        strColumnValue = objWorksheet.Range("B" & nRow).Value
 
        If objDictionary.Exists(strColumnValue) = False Then
           objDictionary.Add strColumnValue, 1
        End If
    Next
 
    varColumnValues = objDictionary.Keys
 
    For i = LBound(varColumnValues) To UBound(varColumnValues)
        varColumnValue = varColumnValues(i)
 
        'Create a new Excel workbook
        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.Paste
 
        For nRow = 2 To nLastRow
            If CStr(objWorksheet.Range("B" & nRow).Value) = CStr(varColumnValue) Then
               'Copy data with the same column "B" value to new workbook
               objWorksheet.Rows(nRow).EntireRow.Copy
  
               nNextRow = objSheet.Range("A" & objWorksheet.Rows.Count).End(xlUp).Row + 1
               objSheet.Range("A" & nNextRow).Select
               objSheet.Paste
               objSheet.Columns("A:B").AutoFit
            End If
        Next
    Next
End Sub

Kód VBA - rozdělte obsah listu aplikace Excel do více sešitů na základě konkrétního sloupce

  1. Poté klikněte na ikonu „Spustit“ na panelu nástrojů nebo stiskněte tlačítko „F5“.
  2. Po dokončení makra budou vytvořeny samostatné sešity aplikace Excel s rozdělenými daty ze zdrojového listu aplikace Excel.Nové sešity aplikace Excel
  3. Každý sešit bude vypadat jako na následujícím snímku obrazovky.Samostatné nové sešity aplikace Excel

Porovnání

  Výhody Nevýhody
Metoda 1 1. Snadné ovládání pro všechny uživatele aplikace Excel Problematické, pokud existuje příliš mnoho možností filtrování
2. Rychlé, pokud existuje několik možností filtrování
Metoda 2 Mnohem efektivnější než metoda 1 bez ohledu na množství možností filtrování Trochu těžké pracovat pro nováčky VBA

Zabraňte ztrátě dat aplikace Excel

Ačkoli je MS Excel stále pokročilejší a sofistikovanější, stále má tendenci občas selhávat kvůli různým faktorům, jako jsou škodlivé doplňky třetích stran nebo lidské chyby atd. Vzhledem k tomu, že selhání aplikace Excel může přímo vést k Excel poškozeníAbyste se vyhnuli ztrátě dat aplikace Excel, musíte soubory aplikace Excel pravidelně zálohovat. V opačném případě musíte použít nástroj pro opravu aplikace Excel, například DataNumen Excel Repair opravit poškozené soubory aplikace Excel.

Úvod autora:

Shirley Zhang je expertem na obnovu dat DataNumen, Inc., která je světovým lídrem v oblasti technologií pro obnovu dat, včetně SQL Server opravit a výhledové softwarové produkty pro opravy. Pro více informací navštivte www.datanumen.com

Sdílej nyní:

Komentáře jsou uzavřeny.