2 hurtige midler til at opdele et Excel-regnearks indhold i flere projektmapper baseret på en bestemt kolonne

Til tider kan det være nødvendigt at opdele indholdet af et Excel-regneark i flere Excel-projektmapper i henhold til en bestemt kolonne. I dette indlæg vil vi lære dig to hurtige måder at få det på.

Mange brugere har ofte brug for at opdele et Excel-regneark, der indeholder store datarækker i flere separate Excel-projektmapper baseret på en bestemt kolonne. For eksempel er her mit eksempel på et Excel-regneark. Jeg vil gerne opdele dette arks data på basis af kolonnen "Pris på en enkelt licens (US $)" i flere projektmapper.

Eksempel på Excel-regneark

Generelt har du tendens til at bruge følgende metode 1 til manuelt at filtrere og kopiere data. Men det vil være ret kedeligt og dumt, hvis der er for mange filterindstillinger. Derfor viser vi her også en meget mere bekvem måde - Metode 2, der bruger VBA. Læs videre for at få dem i detaljer.

Metode 1: Kopier indhold til separate Excel-projektmapper efter filter

  1. Først skal du vælge en celle i den specifikke kolonne, som "Cell B1" i min egen forekomst.
  2. Drej derefter til fanen "Data", og klik på knappen "Filter".Filtrer data
  3. Klik derefter på knappen "pil ned" i kolonneoverskriften for at få vist en liste over filtervalg.
  4. Fjern nu afkrydsningsfeltet "(Vælg alt)".Fjern markeringen af ​​"Vælg alt"
  5. Derefter kan du vælge et filtervalg som "29.95" i mit eksempel og klikke på "OK".
  6. Med det samme er kun data, hvis værdi i kolonne B er "29.95", tilbage.Der er kun filtrerede data tilbage
  7. Kopier derefter de filtrerede data og indsæt dem i en ny Excel-projektmappe.Kopier og indsæt indhold
  8. Senere skal du bruge den samme måde til at opdele de andre data for at adskille Excel-projektmapper.

Metode 2: Batch opdelt indhold i flere Excel-projektmapper via VBA

  1. For det første skal du sikre dig, at det specifikke regneark åbnes.
  2. Start derefter VBA-editor i henhold til “Sådan køres VBA-kode i din Excel".
  3. Sæt derefter følgende kode i “ThisWorkbook” -projektet.
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 - Opdel et Excel-regnearks indhold i flere projektmapper baseret på en bestemt kolonne

  1. Klik derefter på ikonet "Kør" i værktøjslinjen eller tryk på "F5" -tasten.
  2. Når makroen er færdig, oprettes de separate Excel-projektmapper med de splittede data fra Excel-regnearket.Nye Excel-projektmapper
  3. Hver projektmappe ser ud som det følgende skærmbillede.Separer nye Excel-projektmapper

Sammenligning

  Fordele Ulemper
Metode 1 1. Let at betjene for alle Excel-brugere Besværligt, hvis der er for mange filtervalg
2. Hurtig, hvis der er få filtervalg
Metode 2 Meget mere effektiv end metode 1 uanset mængden af ​​filtervalg Lidt svært at betjene for VBA nybegyndere

Forhindre tab af Excel

Selvom MS Excel bliver mere og mere avanceret og sofistikeret, har det stadig en tendens til at gå ned fra tid til anden på grund af diverse faktorer, såsom ondsindede tredjeparts tilføjelsesprogrammer eller menneskelige fejl og så videre. Siden Excel-nedbrud direkte kan føre til Excel korruption, for at undgå tab af Excel-data, skal du sikkerhedskopiere dine Excel-filer regelmæssigt. Ellers skal du anvende et Excel-reparationsværktøj, f.eks DataNumen Excel Repair at rette korrupte Excel-filer.

Forfatter Introduktion:

Shirley Zhang er ekspert i datagendannelse i DataNumen, Inc., som er verdens førende inden for datagendannelsesteknologier, herunder SQL Server reparere og Outlook-reparationssoftwareprodukter. For mere information besøg www.datanumen.com

Kommentarer er lukket.