2 Gyors módszer egy Excel-munkalap tartalmának több munkafüzetre való felosztására egy adott oszlop alapján

Oszd meg most:

Az adatelemzés során időnként előfordulhat, hogy egy Excel-munkalap tartalmát több Excel-munkafüzetre kell felosztania egy adott oszlopnak megfelelően. Most, ebben a post, megtanítunk 2 gyors módot a beszerzésére.

Sok felhasználónak gyakran fel kell osztania egy hatalmas adatsort tartalmazó Excel-munkalapot több különálló Excel-munkafüzetre egy adott oszlop alapján. Például itt van az én minta Excel-munkalapom. A munkalap adatait az „Egyetlen licenc ára (US$)” oszlop alapján több munkafüzetre szeretném felosztani.

Minta Excel munkalap

Általában a következő 1. módszert használja az adatok kézi szűrésére és másolására. De elég fárasztó és hülye lesz, ha túl sok szűrőbeállítás van. Ezért itt egy sokkal kényelmesebb módszert is bemutatunk – a 2. módszert, amely VBA-t használ. Most olvassa el, hogy részletesen megismerje őket.

1. módszer: Szűrés után másolja a tartalmat külön Excel-munkafüzetekbe

  1. Először válasszon ki egy cellát az adott oszlopban, például a „B1 cellát” a saját példányomban.
  2. Ezután lépjen az „Adatok” fülre, és kattintson a „Szűrés” gombra.Adatok szűrése
  3. Ezután kattintson a „lefelé mutató nyíl” gombra az oszlop fejlécében a szűrőlehetőségek listájának megjelenítéséhez.
  4. Most törölje a jelölést a „(Select All)” opcióból.Törölje az "Összes kijelölése" jelölőnégyzetet
  5. Ezután kiválaszthat egy szűrőlehetőséget, például a példámban a „29.95”, majd kattintson az „OK” gombra.
  6. Egyszerre csak azok az adatok maradnak meg, amelyek értéke a B oszlopban „29.95”.Csak szűrt adatok maradnak
  7. Ezután másolja ki a szűrt adatokat, és illessze be őket egy új Excel-munkafüzetbe.Tartalom másolása és beillesztése
  8. Később ugyanezzel a módszerrel ossza szét a többi adatot külön Excel-munkafüzetekké.

2. módszer: A tartalom kötegelt felosztása több Excel-munkafüzetre VBA-n keresztül

  1. Először is győződjön meg arról, hogy az adott munkalap meg van nyitva.
  2. Ezután indítsa el a VBA-szerkesztőt a „A VBA kód futtatása az Excelben".
  3. Ezután írja be a következő kódot a „ThisWorkbook” projektbe.
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-kód – egy Excel-munkalap tartalmának felosztása több munkafüzetre egy adott oszlop alapján

  1. Ezután kattintson a „Futtatás” ikonra az eszköztáron, vagy nyomja meg az „F5” gombot.
  2. Amikor a makró befejeződik, külön Excel-munkafüzetek jönnek létre a forrás Excel-munkalap felosztott adataival.Új Excel munkafüzetek
  3. Mindegyik munkafüzet az alábbi képernyőképhez hasonlóan fog kinézni.Külön új Excel munkafüzetek

Compare

  Előnyök Hátrányok
Módszer 1 1. Könnyen kezelhető minden Excel felhasználó számára Problémás, ha túl sok szűrő van kiválasztva
2. Gyors, ha kevés a szűrő
Módszer 2 A szűrők mennyiségétől függetlenül sokkal hatékonyabb, mint az 1. módszer Kicsit nehéz kezelni VBA kezdőknek

Az Excel adatvesztés megelőzése

Bár az MS Excel egyre fejlettebb és kifinomultabb, még mindig hajlamos időről időre összeomlani különféle tényezők, például rosszindulatú harmadik féltől származó bővítmények vagy emberi hibák miatt. Mivel az Excel összeomlása közvetlenül vezethet Excel korrupció, hogy elkerülje az Excel adatvesztést, rendszeresen biztonsági másolatot kell készítenie Excel fájljairól. Ellenkező esetben egy Excel javítóeszközt kell alkalmaznia, mint pl DataNumen Excel Repair a sérült Excel-fájlok javításához.

Szerző Bevezetés:

Shirley Zhang adat-helyreállítási szakértő DataNumen, Inc., amely világelső az adat-helyreállítási technológiák területén, beleértve SQL Server javítás és outlook javítószoftver termékek. További információért látogasson el www.datanumen.com

Oszd meg most:

Hozzászólások lezárva.