2 Hitra sredstva za razdelitev vsebine Excelovega delovnega lista v več delovnih zvezkov na podlagi določenega stolpca

Skupna raba zdaj:

Včasih boste pri analizi podatkov morda morali vsebino Excelovega delovnega lista razdeliti v več Excelovih delovnih zvezkov glede na določen stolpec. V tej objavi vas bomo naučili dveh hitrih načinov, kako to doseči.

Mnogi uporabniki pogosto morajo razdeliti Excelov delovni list, ki vsebuje ogromne vrstice podatkov, v več ločenih Excelovih delovnih zvezkih na podlagi določenega stolpca. Tu je na primer moj vzorec delovnega lista Excel. Podatke tega lista bi rad razdelil na podlagi stolpca »Cena posamezne licence (USD)« v več delovnih zvezkov.

Vzorec delovnega lista Excel

Na splošno boste za ročno filtriranje in kopiranje podatkov običajno uporabljali naslednjo 1. metodo. Ampak, precej dolgočasno in neumno bo, če bo možnosti filtriranja preveč. Zato tukaj prikazujemo tudi veliko bolj priročen način - 2. način, ki uporablja VBA. Zdaj preberite, če jih želite podrobno prebrati.

1. način: Kopiranje vsebine v ločene Excelove delovne zvezke po filtru

  1. Najprej izberite celico v določenem stolpcu, na primer »Celica B1« v mojem lastnem primeru.
  2. Nato odprite zavihek »Podatki« in kliknite gumb »Filter«.Filtriraj podatke
  3. Nato v glavi stolpca kliknite gumb »puščica dol«, da se prikaže seznam možnosti filtra.
  4. Zdaj počistite možnost »(Select All)«.Počistite polje »Izberi vse«
  5. Po tem lahko izberete eno izbiro filtra, na primer »29.95« v mojem primeru, in kliknete »V redu«.
  6. Takoj bodo ostali le podatki, katerih vrednost v stolpcu B je "29.95".Ostali so samo filtrirani podatki
  7. Nato kopirajte filtrirane podatke in jih prilepite v nov Excelov delovni zvezek.Kopirajte in prilepite vsebino
  8. Kasneje na enak način razdelite ostale podatke v ločene Excelove delovne zvezke.

2. način: Vsebino razdelite v več delovnih zvezkov Excel prek VBA

  1. Najprej zagotovite, da se odpre določen delovni list.
  2. Nato zaženite urejevalnik VBA v skladu z “Kako zagnati kodo VBA v Excelu".
  3. Nato v projekt »ThisWorkbook« vnesite naslednjo kodo.
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

Koda VBA - razdelite vsebino Excelovega delovnega lista na več delovnih zvezkov na podlagi določenega stolpca

  1. Po tem v orodni vrstici kliknite ikono »Zaženi« ali pritisnite tipko »F5«.
  2. Ko se makro konča, bodo ustvarjeni ločeni Excelovi delovni zvezki z razdeljenimi podatki iz izvornega Excelovega delovnega lista.Novi Excelovi delovni zvezki
  3. Vsak delovni zvezek bo videti kot naslednji posnetek zaslona.Ločeni novi Excelovi delovni zvezki

Primerjava

  Prednosti Slabosti
Metoda 1 1. Enostaven za uporabo za vse uporabnike Excela Težavno, če je filtrov preveč
2. Hitro, če je filtrov malo
Metoda 2 Veliko učinkovitejši od metode 1 ne glede na izbiro filtra Nekoliko težko je delati za novince VBA

Preprečite izgubo podatkov v Excelu

Čeprav MS Excel postaja vse bolj napreden in izpopolnjen, se kljub temu občasno sesuje zaradi različnih dejavnikov, kot so zlonamerni dodatki tretjih oseb ali človeške napake itd. Ker lahko zrušitev Excela neposredno pripelje do Excel korupcija, da bi se izognili izgubi podatkov v Excelu, morate redno varnostno kopirati datoteke Excel. V nasprotnem primeru morate uporabiti orodje za popravilo Excel, kot je DataNumen Excel Repair popraviti poškodovane datoteke Excel.

Uvod avtorja:

Shirley Zhang je strokovnjakinja za obnovitev podatkov v DataNumen, Inc., ki je vodilna na svetu na področju tehnologij za obnovitev podatkov, vključno z SQL Server popravilo in obeti za popravilo programskih izdelkov. Za več informacij obiščite www.datanumen.com

Skupna raba zdaj:

Komentarji so zaprti.