2 raske måter å dele innholdet i et Excel-regneark i flere arbeidsbøker basert på en bestemt kolonne

Noen ganger, i dataanalyse, må du kanskje dele innholdet i et Excel-regneark i flere Excel-arbeidsbøker i henhold til en bestemt kolonne. Nå, i denne sost, vil vi lære deg 2 raske måter å få det på.

Mange brukere trenger ofte å dele et Excel-regneark som inneholder enorme rader med data i flere separate Excel-arbeidsbøker basert på en bestemt kolonne. For eksempel, her er mitt eksempel på Excel-regnearket. Jeg vil dele dette arkets data på grunnlag av kolonnen "Pris på enkeltlisens (US$)" i flere arbeidsbøker.

Eksempel på Excel-regneark

Generelt vil du pleier å bruke følgende metode 1 for å manuelt filtrere og kopiere data. Men det vil være ganske kjedelig og dumt hvis det er for mange filteralternativer. Derfor viser vi her også en mye mer praktisk måte – Metode 2, som bruker VBA. Les videre for å få dem i detalj.

Metode 1: Kopier innhold til separate Excel-arbeidsbøker etter filter

  1. Først velger du en celle i den spesifikke kolonnen, som "Celle B1" i min egen forekomst.
  2. Gå deretter til "Data"-fanen og klikk på "Filter" -knappen.Filtrer data
  3. Klikk deretter på "pil ned"-knappen i kolonneoverskriften for å vise en liste over filtervalg.
  4. Nå, fjern merket for "(Velg alle)" alternativet.Fjern merket for "Velg alle"
  5. Etter det kan du velge ett filtervalg, som "29.95" i eksemplet mitt, og klikke på "OK".
  6. På en gang vil bare dataene, hvis verdi i kolonne B er "29.95", være igjen.Bare filtrerte data er igjen
  7. Deretter kopierer du de filtrerte dataene og limer dem inn i en ny Excel-arbeidsbok.Kopier og lim inn innhold
  8. Bruk senere på samme måte for å dele de andre dataene for å skille Excel-arbeidsbøker.

Metode 2: Batchdeling av innhold i flere Excel-arbeidsbøker via VBA

  1. For det første, sørg for at det spesifikke regnearket er åpnet.
  2. Deretter starter du VBA-editor i henhold til "Hvordan kjøre VBA-kode i Excel".
  3. Deretter legger du følgende kode inn i "ThisWorkbook"-prosjektet.
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

VBA-kode - Del innholdet i et Excel-regneark i flere arbeidsbøker basert på en bestemt kolonne

  1. Deretter klikker du på "Kjør"-ikonet i verktøylinjen eller trykker på "F5"-tasten.
  2. Når makroen er ferdig, opprettes de separate Excel-arbeidsbøkene med de delte dataene fra Excel-kilderegnearket.Nye Excel-arbeidsbøker
  3. Hver arbeidsbok vil se ut som følgende skjermbilde.Skill nye Excel-arbeidsbøker

Sammenligning

  Fordeler Ulemper
Metode 1 1. Enkel å betjene for alle Excel-brukere Plagsomt hvis det er for mange filtervalg
2. Rask hvis det er få filtervalg
Metode 2 Mye mer effektiv enn metode 1 uansett antall filtervalg Litt vanskelig å betjene for VBA-nybegynnere

Forhindre tap av Excel-data

Selv om MS Excel blir mer og mer avansert og sofistikert, har det fortsatt en tendens til å krasje fra tid til annen på grunn av diverse faktorer, som ondsinnede tredjepartstillegg eller menneskelige feil og så videre. Siden Excel-krasj kan direkte føre til Excel-korrupsjon, for å unngå tap av Excel-data, må du sikkerhetskopiere Excel-filene dine med jevne mellomrom. Ellers må du bruke et Excel-reparasjonsverktøy, som f.eks DataNumen Excel Repair for å fikse ødelagte Excel-filer.

Forfatterintroduksjon:

Shirley Zhang er en datagjenopprettingsekspert innen DataNumen, Inc., som er verdensledende innen datagjenopprettingsteknologier, inkludert SQL Server reparasjon og Outlook-reparasjonsprodukter. For mer informasjon besøk www.datanumen. Med

Kommentarer er stengt.