2 rýchle prostriedky na rozdelenie obsahu hárka programu Excel do viacerých zošitov na základe konkrétneho stĺpca

Zdieľať teraz:

Pri analýze údajov možno budete niekedy musieť rozdeliť obsah hárka programu Excel do viacerých zošitov programu Excel podľa konkrétneho stĺpca. Teraz, v tejto strost, naučíme vás 2 rýchle spôsoby, ako to získať.

Mnoho používateľov často musí rozdeliť hárok programu Excel, ktorý obsahuje obrovské riadky údajov, do niekoľkých samostatných zošitov programu Excel na základe konkrétneho stĺpca. Napríklad tu je môj ukážkový pracovný hárok programu Excel. Chcel by som rozdeliť údaje tohto hárku na základe stĺpca „Cena jednej licencie (USD)“ do viacerých zošitov.

Vzorový pracovný hárok programu Excel

Všeobecne budete mať tendenciu používať nasledujúcu metódu 1 na manuálne filtrovanie a kopírovanie údajov. Bude však dosť zdĺhavé a hlúpe, ak bude k dispozícii príliš veľa možností filtrovania. Preto tu tiež ukazujeme oveľa pohodlnejší spôsob - metódu 2, ktorá využíva VBA. Teraz ich prečítajte a získate ich podrobne.

Metóda 1: Skopírovanie obsahu do samostatných zošitov programu Excel po filtrácii

  1. Najprv vyberte bunku v konkrétnom stĺpci, napríklad „Bunka B1“ v mojom vlastnom prípade.
  2. Potom sa obráťte na kartu „Údaje“ a kliknite na tlačidlo „Filtrovať“.Filtrovať údaje
  3. Ďalej kliknite na tlačidlo „šípka dole“ v záhlaví stĺpca, aby sa zobrazil zoznam možností filtra.
  4. Teraz zrušte začiarknutie možnosti „(Vybrať všetko)“.Zrušte začiarknutie políčka Vybrať všetko
  5. Potom môžete vybrať jednu voľbu filtra, napríklad „29.95“ v mojom príklade, a kliknúť na „OK“.
  6. Naraz sa ponechajú iba údaje, ktorých hodnota v stĺpci B je „29.95“.Zostali iba filtrované údaje
  7. Potom skopírujte filtrované údaje a vložte ich do nového zošita programu Excel.Skopírujte a prilepte obsah
  8. Rovnakým spôsobom neskôr rozdelíte ostatné údaje do samostatných zošitov programu Excel.

Metóda 2: Dávkové rozdelenie obsahu do viacerých zošitov programu Excel prostredníctvom VBA

  1. V prvom rade sa uistite, že je otvorený konkrétny pracovný hárok.
  2. Ďalej spustite editor VBA podľa „Ako spustiť kód VBA v programe Excel".
  3. Potom vložte nasledujúci 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 - rozdelenie obsahu pracovného hárka programu Excel do viacerých zošitov na základe konkrétneho stĺpca

  1. Potom kliknite na ikonu „Spustiť“ na paneli nástrojov alebo stlačte klávesovú skratku „F5“.
  2. Po dokončení makra sa vytvoria samostatné zošity programu Excel s rozdelenými údajmi zo zdrojového hárka programu Excel.Nové zošity programu Excel
  3. Každý zošit bude vyzerať ako na nasledujúcom obrázku obrazovky.Samostatné nové zošity programu Excel

Porovnanie

  výhody Nevýhody
Metóda 1 1. Ľahko ovládateľný pre všetkých používateľov programu Excel Problém, ak je príliš veľa možností filtra
2. Rýchle, ak existuje niekoľko možností filtra
Metóda 2 Oveľa efektívnejšie ako metóda 1 bez ohľadu na množstvo možností filtra Trochu ťažké pracovať pre nováčikov VBA

Zabráňte strate údajov v programe Excel

Aj keď je program MS Excel čoraz pokročilejší a sofistikovanejší, stále má tendenciu občas zlyhávať z dôvodu rôznych faktorov, ako sú napríklad škodlivé doplnky tretích strán alebo ľudské chyby. Pretože zlyhanie programu Excel môže priamo viesť k Excel korupciaAby ste sa vyhli strate údajov v programe Excel, musíte súbory programu Excel pravidelne zálohovať. V opačnom prípade musíte použiť nástroj na opravu programu Excel, ako je napr DataNumen Excel Repair opraviť poškodené súbory programu Excel.

Úvod autora:

Shirley Zhang je expertkou na obnovu dát v DataNumen, Inc., ktorá je svetovým lídrom v oblasti technológií obnovy dát, vrátane SQL Server oprava a výhľadové softvérové ​​produkty na opravu. Pre viac informácií navštívte www.datanumen. S

Zdieľať teraz:

Komentáre sú uzavreté.