2 kiiret vahendit Exceli töölehe sisu jagamiseks mitmeks töövihikuks konkreetse veeru alusel

Andmeanalüüsi käigus võib mõnikord tekkida vajadus jagada Exceli töölehe sisu mitmeks Exceli töövihikuks kindla veeru järgi. Nüüd õpetame teile selles postituses kahte kiiret viisi selle saamiseks.

Paljud kasutajad peavad sageli jagama Exceli töölehe, mis sisaldab suuri andmeridu, mitmeks eraldi Exceli töövihikuks, mis põhinevad konkreetsel veerul. Näiteks siin on minu Exceli töölehe näidis. Soovin jagada selle lehe andmed veeru „Ühe litsentsi hind (USD)” alusel mitmeks töövihikuks.

Exceli töölehe näidis

Üldiselt kasutate andmete käsitsi filtreerimiseks ja kopeerimiseks järgmist 1. meetodit. Kuid see on üsna tüütu ja rumal, kui filtrivalikuid on liiga palju. Seetõttu näitame siin ka palju mugavamat viisi – 2. meetodit, mis kasutab VBA-d. Nüüd lugege edasi, et neid üksikasjalikult saada.

1. meetod: pärast filtreerimist kopeerige sisu eraldi Exceli töövihikutesse

  1. Kõigepealt valige konkreetses veerus lahter, näiteks minu enda eksemplaris "Cell B1".
  2. Seejärel minge vahekaardile "Andmed" ja klõpsake nuppu "Filter".Andmete filtreerimine
  3. Järgmisena klõpsake filtrivalikute loendi kuvamiseks veeru päises nuppu "allanool".
  4. Nüüd tühjendage valik „(Vali kõik)”.Tühjendage märkeruut "Vali kõik"
  5. Pärast seda saate valida ühe filtrivaliku, näiteks minu näites "29.95" ja klõpsata "OK".
  6. Korraga jäetakse alles vaid andmed, mille väärtus veerus B on “29.95”.Alles on ainult filtreeritud andmed
  7. Seejärel kopeerige filtreeritud andmed ja kleepige need uude Exceli töövihikusse.Sisu kopeerimine ja kleepimine
  8. Hiljem kasutage samamoodi teiste andmete eraldamiseks Exceli töövihikuteks.

2. meetod: jagage sisu VBA kaudu mitmeks Exceli töövihikuks

  1. Esiteks veenduge, et konkreetne tööleht oleks avatud.
  2. Järgmisena käivitage VBA redaktor vastavalt "Kuidas Excelis VBA koodi käivitada".
  3. Seejärel sisestage projekti "ThisWorkbook" järgmine kood.
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 kood – jagage Exceli töölehe sisu konkreetse veeru alusel mitmeks töövihikuks

  1. Pärast seda klõpsake tööriistaribal ikooni "Käivita" või vajutage nuppu "F5".
  2. Kui makro on lõppenud, luuakse Exceli lähtetöölehe poolitatud andmetega eraldi Exceli töövihikud.Uued Exceli töövihikud
  3. Iga töövihik näeb välja nagu järgmine ekraanipilt.Eraldi uued Exceli töövihikud

võrdlus

  Eelised Puudused
Meetod 1 1. Lihtne kasutada kõigile Exceli kasutajatele Tülikas, kui filtrivalikuid on liiga palju
2. Kiire, kui filtrivalikuid on vähe
Meetod 2 Palju tõhusam kui meetod 1, olenemata filtrivalikute arvust VBA algajatele natuke raske kasutada

Vältige Exceli andmete kadumist

Kuigi MS Excel muutub üha arenenumaks ja keerukamaks, kipub see aeg-ajalt kokku jooksma mitmesuguste tegurite tõttu, nagu pahatahtlikud kolmanda osapoole lisandmoodulid või inimlikud vead ja nii edasi. Kuna Exceli krahh võib otseselt kaasa tuua Exceli korruptsioon, et vältida Exceli andmete kadumist, peate oma Exceli failid regulaarselt varundama. Vastasel juhul peate rakendama Exceli parandustööriista, nt DataNumen Excel Repair rikutud Exceli failide parandamiseks.

Autori sissejuhatus:

Shirley Zhang on andmete taastamise ekspert DataNumen, Inc., mis on maailmas juhtiv andmete taastamise tehnoloogiate, sealhulgas SQL Server remont ja Outlooki remonditarkvaratooted. Lisateabe saamiseks külastage www.datanumenCom

Kommentaarid on suletud.