Hur du delar Excel-ark i flera arbetsblad (3 metoder) -

  • Dela Detta
Hugh West

Ett stort dataset kan innehålla flera värden baserade på samma kolumn. Om du vill kan du dela upp värdena för samma kategorier (avdelning, månad, region, stater etc.) eller dina preferenser i olika arbetsblad eller arbetsböcker. I den här artikeln kommer jag att förklara hur du delar Excel-ark i flera arbetsblad.

För att göra förklaringen tydligare för dig kommer jag att använda ett exempel på ett dataset. Det finns fyra kolumner i datasetetet som representerar försäljningsinformation för olika månader. Kolumnerna är följande Säljare, region, månad, och Försäljning .

Ladda ner till praktiken

Dela Excel-ark i flera arbetsblad.xlsm

Sätt att dela Excel-ark i flera arbetsblad

1. Använda filter och kopiering

Från ett ark kan du dela upp data i flera ark genom att använda Filter .

Markera först det cellområde där du vill tillämpa Filter .

➤Här valde jag cellområdet B3:E15 .

Öppna sedan Uppgifter flik>> välj Filter .

Du kan också använda CTRL + SHIFT + L för att tillämpa Filter med hjälp av tangentbordet .

Nu, Filter tillämpas på det valda cellområdet.

Klicka sedan på Månad kolumnen eftersom jag vill dela upp data beroende på Månad värden.

Därifrån har jag avmarkerad allt utom Januari Slutligen klickar du på OK .

Alla värden där den Månad är Januari filtreras.

Då, Kopiera uppgifter och Klistra in den till det nya arbetsbladet.

Här har jag namngett det nya arket Januari. På så sätt ser du all försäljningsinformation för Januari presenteras här.

För resten av Månader kan du följa samma procedurer.

Klicka återigen på Månad kolumnen eftersom jag vill dela upp data beroende på Månad värden.

Därifrån avmarkera allt utom Februari Slutligen klickar du på OK .

Alla värden för Februari Månad filtreras.

Då, Kopiera uppgifter och Klistra in den till det nya arbetsbladet.

Senare namngav jag det nya bladet Februari. På så sätt ser du all försäljningsinformation för Månad Februari presenteras här.

Klicka återigen på Månad kolumnen eftersom jag vill dela upp data beroende på Månad värden.

Därifrån avmarkera allt utom Mars Slutligen klickar du på OK .

Nu ser du alla värden för Mars filtreras.

Då, Kopiera uppgifter och Klistra in den till det nya arbetsbladet.

Till slut gav jag det nya bladet namnet Mars Du får alltså se all försäljningsinformation för Mars presenteras här.

Läs mer: Dela Excel-ark i flera ark baserat på rader

2. Dela Excel-ark baserat på radantal med hjälp av VBA

Innan du börjar med proceduren måste du komma ihåg att du måste börja med data från de första raderna.

Öppna nu Utvecklare flik>> välj Visual Basic

Det kommer att öppna ett nytt fönster med Microsoft Visual Basic för tillämpningar .

Från och med Infoga >> välj Modul

A Modul kommer att öppnas där.

Skriv sedan följande kod i Modul .

 Sub SplitExcelSheet_into_MultipleSheets() Dim WorkRng As Range Dim xRow As Range Dim SplitRow As Integer Dim xWs As Worksheet On Error Resume Next EcelTitleId = "Split Row Numt" Set WorkRng = Application.Selection Set WorkRng = Application.InputBox("Range", ExcelTitleId, WorkRng.Address, Type:=8) SplitRow = Application.InputBox("Split Row Num", ExcelTitleId, 4, Type:=1) Set xWs = WorkRng.ParentSet xRow = WorkRng.Rows(1) Application.ScreenUpdating = False For i = 1 To WorkRng.Rows.Count Step SplitRow resizeCount = SplitRow If (WorkRng.Rows.Count - xRow.Row + 1) <SplitRow Then resizeCount = WorkRng.Rows.Count - xRow.Row + 1 xRow.Resize(resizeCount).Copy Application.Worksheets.Add after:=Application.Worksheets(Application.Worksheets.Count)Application.ActiveSheet.Range("A1").PasteSpecial Set xRow = xRow.Offset(SplitRow) Next Application.CutCopyMode = False Application.ScreenUpdating = True End Sub 

Här har jag skapat en underprocedur som heter SplitExcelSheet_into_MultipleSheets .

Där jag deklarerade ett par variabler, dessa är WorkRng och xRow som Utbud typ då

SplitRow som Heltal även xWs som Arbetsblad typ.

Används också ExcelTitleId för att ge den dialogruta titel.

Jag har angett ett delat radnummer. 4 att dela upp data med 4 rader, eftersom det i mitt dataset finns en Månad Januari har 4 rader.

Till sist använde du en För till SplitRow tills det givna cellintervallet är slut.

Då, Spara koden och gå tillbaka till arbetsbladet.

Öppna nu Utvecklare flik>> Från Infoga >> välj Knapp

A dialogruta kommer att dyka upp.

Om du vill tilldela Makro i den infogade Knapp .

Välj SplitExcelSheet_into_Multiplesheets från Makronamn Klicka sedan på OK .

Klicka bara på Knapp för att köra Makro .

Nu kan en dialogruta visas där du kan lägga in uppgifterna sortiment.

➤Här valde jag cellområdet B1:E12

Klicka sedan på OK .

En annan dialogruta visas för att visa det valda antalet rader som du redan angett i koden för att dela upp datasetet.

➤ I koden har jag angett 4 som Antal delade rader

Eftersom jag totalt sett har 12 rader så med 4 rader kommer det att finnas 3 ark .

Blad 1 visas uppgifterna för de fyra första raderna.

Blad2 visas uppgifterna för raderna 5-8.

Blad3 visas data för de fyra senaste raderna.

Läs mer: Excel VBA: Dela ark i flera ark baserat på rader

Liknande läsningar

  • Hur du delar skärmen i Excel (3 sätt)
  • [Fix:] Excel View Side by Side fungerar inte
  • Hur man separerar blad i Excel (6 effektiva sätt)
  • Öppna två Excel-filer separat (5 enkla metoder)
  • Hur du delar Excel-ark i flera filer (3 snabba metoder)

3. Dela Excel-ark i flera arbetsböcker baserat på kolumnen

Innan du börjar med proceduren måste du komma ihåg att du måste börja med data från den första raden och den första kolumnen.

Öppna nu Utvecklare flik>> välj Visual Basic

Det kommer att öppna ett nytt fönster med Microsoft Visual Basic för tillämpningar .

Från och med Infoga >> välj Modul

A Modul kommer att öppnas där.

Skriv sedan följande kod i Modul .

 Sub SplitSheetIntoMultipleWorkbooksBasedOnColumn() 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 strColumnValue = objWorksheet.Range("C" & nRow).Value If objDictionary.Exists(strColumnValue) = False Then objDictionary.Add strColumnValue, 1 End If Next varColumnValues = objDictionary.KeysFor i = LBound(varColumnValues) To UBound(varColumnValues) varColumnValue = varColumnValues(i) 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.PasteFor nRow = 2 To nLastRow If CStr(objWorksheet.Range("C" & nRow).Value) = CStr(varColumnValue) Then objWorksheet.Rows(nRow).EntireRow.Copy nNextRow = objSheet.Range("A" & objWorksheet.Rows.Count).End(xlUp).Row + 1 objSheet.Range("A" & nNextRow).Select objSheet.PasteobjSheet.Columns("A:D").AutoFit End If Next Next Next End Sub 

Här har jag skapat en underprocedur som heter SplitSheetIntoMultipleWorkbooksBasedOnColumn , där jag deklarerade flera variabler.

Jag använde 3 FÖR slingor. Den 1:a FÖR slingan kommer att räkna raderna från rad 2 till den sista raden med ett värde för att få fram den specifika kolumnen. Jag har gett instansen av "C" kolumn.

Du kan ändra den till ditt fall.

Den andra För skapar en ny Excel-arbetsbok.

Den tredje Fo r-slingan kopierar data med samma kolumn. "C" värdet till den nya arbetsboken från den andra raden till den sista raden med värdet.

Då, Spara koden och gå tillbaka till arbetsbladet.

Öppna nu Visa flik>> Från Makroer >> välj Visa makron

A dialogruta kommer att dyka upp.

Från och med nu, från Makronamn välja den SplitSheetIntoMultipleWorkbooksBasedOnColumn också välja arbetsboken inom Makroer i .

Slutligen, Kör den valda Makro .

Slutligen kommer du att se att 3 nya arbetsböcker har skapats eftersom det finns 3 olika Månader i kolumnen C . Bok1 för Januari .

Bok2 för Februari .

Bok3 för Mars .

Läs mer: Hur du delar Excel-ark i flera blad baserat på kolumnvärde

Slutsats

I den här artikeln har jag förklarat 3 sätt att dela Excel-ark i flera arbetsblad. Du kan följa något av de förklarade sätten att dela ditt Excel-ark i flera arbetsblad. Om du har någon förvirring eller fråga om dessa metoder kan du kommentera nedan.

Hugh West är en mycket erfaren Excel-tränare och analytiker med över 10 års erfarenhet i branschen. Han har en kandidatexamen i redovisning och ekonomi och en magisterexamen i företagsekonomi. Hugh har en passion för undervisning och har utvecklat ett unikt undervisningssätt som är lätt att följa och förstå. Hans expertkunskap om Excel har hjälpt tusentals studenter och yrkesverksamma över hela världen att förbättra sina färdigheter och utmärka sig i sina karriärer. Genom sin blogg delar Hugh med sig av sin kunskap med världen, och erbjuder gratis Excel-handledning och onlineutbildning för att hjälpa individer och företag att nå sin fulla potential.