2 greitos priemonės „Excel“ darbalapio turinį padalinti į kelias darbaknyges, remiantis konkrečiu stulpeliu

Bendrinti dabar:

Kartais atliekant duomenų analizę gali tekti padalinti „Excel“ darbalapio turinį į kelias „Excel“ darbaknyges pagal konkretų stulpelį. Šiame įraše parodysime du greitus būdus, kaip tai padaryti.

Daugeliui vartotojų dažnai reikia padalyti „Excel“ darbalapį, kuriame yra didžiulės duomenų eilutės, į kelias atskiras „Excel“ darbaknyges pagal konkretų stulpelį. Pavyzdžiui, čia yra mano „Excel“ darbalapio pavyzdys. Norėčiau padalyti šio lapo duomenis pagal stulpelį „Vienos licencijos kaina (USD)“ į kelias darbaknyges.

„Excel“ darbalapio pavyzdys

Apskritai, norėdami rankiniu būdu filtruoti ir kopijuoti duomenis, naudosite šį 1 metodą. Tačiau tai bus gana nuobodu ir kvaila, jei bus per daug filtrų parinkčių. Todėl čia taip pat parodome kur kas patogesnį būdą – 2 metodą, kuris naudoja VBA. Dabar skaitykite toliau, kad sužinotumėte juos išsamiau.

1 būdas: nukopijuokite turinį į atskiras „Excel“ darbaknyges po filtravimo

  1. Iš pradžių pasirinkite langelį konkrečiame stulpelyje, pvz., „Ląstelė B1“ mano atveju.
  2. Tada eikite į skirtuką „Duomenys“ ir spustelėkite mygtuką „Filtruoti“.Filtruoti duomenis
  3. Tada spustelėkite mygtuką „rodyklė žemyn“ stulpelio antraštėje, kad būtų rodomas filtrų pasirinkimų sąrašas.
  4. Dabar panaikinkite parinkties „(Pasirinkti viską)“ žymėjimą.Panaikinkite žymėjimą „Pasirinkti viską“
  5. Po to galite pasirinkti vieną filtro pasirinkimą, pvz., "29.95" mano pavyzdyje, ir spustelėkite "Gerai".
  6. Iš karto bus palikti tik tie duomenys, kurių reikšmė B stulpelyje yra „29.95“.Liko tik filtruoti duomenys
  7. Tada nukopijuokite filtruotus duomenis ir įklijuokite juos į naują „Excel“ darbaknygę.Nukopijuokite ir įklijuokite turinį
  8. Vėliau tuo pačiu būdu padalykite kitus duomenis į atskiras „Excel“ darbaknyges.

2 metodas: suskirstykite turinį į kelias „Excel“ darbaknyges naudodami VBA

  1. Pirmiausia įsitikinkite, kad atidarytas konkretus darbalapis.
  2. Tada paleiskite VBA redaktorių pagal „Kaip paleisti VBA kodą „Excel“.".
  3. Tada įdėkite šį kodą į projektą „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

VBA kodas – padalykite „Excel“ darbalapio turinį į kelias darbaknyges pagal konkretų stulpelį

  1. Po to įrankių juostoje spustelėkite piktogramą "Vykdyti" arba paspauskite klavišą "F5".
  2. Baigus makrokomandą, bus sukurtos atskiros „Excel“ darbaknygės su išskaidytais duomenimis iš šaltinio „Excel“ darbalapio.Naujos Excel darbaknygos
  3. Kiekviena darbaknygė atrodys taip, kaip toliau pateikta ekrano kopija.Atskiros naujos „Excel“ darbaknygės

Palyginimas

  Privalumai Trūkumai
Metodas 1 1. Lengva valdyti visiems Excel vartotojams Sunku, jei yra per daug filtrų pasirinkimų
2. Greitai, jei yra nedaug filtrų pasirinkimų
Metodas 2 Daug efektyvesnis nei 1 metodas, neatsižvelgiant į filtrų pasirinkimą Šiek tiek sunku valdyti VBA naujokams

Užkirsti kelią „Excel“ duomenų praradimui

Nors MS Excel darosi vis tobulesnė ir sudėtingesnė, ji vis tiek retkarčiais užstringa dėl įvairių veiksnių, pvz., kenkėjiškų trečiųjų šalių priedų ar žmogaus klaidų ir pan. Kadangi „Excel“ gedimas gali tiesiogiai sukelti Excel korupcija, kad išvengtumėte Excel duomenų praradimo, turite reguliariai kurti atsargines Excel failų kopijas. Kitu atveju reikia pritaikyti Excel taisymo įrankį, pvz DataNumen Excel Repair ištaisyti sugadintus Excel failus.

Autoriaus įvadas:

Shirley Zhang yra duomenų atkūrimo ekspertė DataNumen, Inc., kuri yra pasaulyje duomenų atkūrimo technologijų lyderė, įskaitant SQL Server remontas ir „Outlook“ taisymo programinės įrangos produktai. Norėdami gauti daugiau informacijos, apsilankykite WWW.datanumen.com

Bendrinti dabar:

Komentarai yra uždaryti.