Indholdsfortegnelse
Et stort datasæt kan indeholde flere værdier baseret på den samme kolonne. Hvis du vil, kan du opdele de samme kategorier (afdeling, måned, region, stater osv.) værdier eller dine præferencer i forskellige regneark eller arbejdsmapper. I denne artikel vil jeg forklare, hvordan du opdeler Excel-ark i flere regneark.
For at gøre denne forklaring klarere for dig, vil jeg bruge et eksempeldatasæt. Der er 4 kolonner i datasættet, som repræsenterer salgsoplysninger for forskellige måneder. Disse kolonner er Salgsperson, Region, måned, og Salg .
Download til praksis
Opdele Excel-ark i flere regneark.xlsmMåder at opdele Excel-ark i flere regneark
1. Brug af filter og kopiering
Fra et hvilket som helst ark kan du opdele dataene i flere ark ved at bruge Filter .
Først skal du vælge det celleområde, hvor du ønsker at anvende Filter .
➤Her har jeg valgt celleområdet B3:E15 .
Derefter skal du åbne den Data faneblad>> vælg Filter .
Du kan også bruge CTRL + SHIFT + L at anvende Filter ved hjælp af tastaturet .
Nu, Filter anvendes på det valgte celleområde.
Klik derefter på Måned kolonne, da jeg ønsker at opdele data afhængigt af Måned værdier.
Derfra har jeg fravalgt alt undtagen Januar Endelig skal du klikke på OK .
Nu vil alle de værdier, hvor den Måned er Januar filtreres.
Derefter, Kopier data og Indsæt det i det nye regneark.
Her har jeg navngivet det nye ark januar. Du vil således se alle salgsoplysninger for Januar præsenteres her.
For resten af den Måneder , kan du følge de samme procedurer.
Igen skal du klikke på Måned kolonne, da jeg ønsker at opdele data afhængigt af Måned værdier.
Herfra fravælg alt undtagen Februar Endelig skal du klikke på OK .
Nu er alle værdierne for Februar Måned filtreres.
Derefter, Kopier data og Indsæt det i det nye regneark.
Senere navngav jeg det nye ark februar. Du vil således se alle salgsoplysninger for den Måned på Februar præsenteres her.
Igen skal du klikke på Måned kolonne, da jeg ønsker at opdele data afhængigt af Måned værdier.
Herfra fravælg alt undtagen Marts Endelig skal du klikke på OK .
Nu vil du se alle værdierne for Marts filtreres.
Derefter, Kopier data og Indsæt det i det nye regneark.
Til sidst navngav jeg det nye ark Marts Du vil derfor se alle salgsoplysninger for Marts præsenteres her.
Læs mere: Opdele Excel-ark i flere ark baseret på rækker
2. Split Excel-ark baseret på rækkeantal ved hjælp af VBA
Før du begynder proceduren, skal du huske, at du skal starte dataene fra de første rækker.
Nu skal du åbne den Udvikler faneblad>> vælg Visual Basic
Det vil åbne et nyt vindue med Microsoft Visual Basic for Applications .
Nu, fra Indsæt >> vælg Modul
A Modul vil åbne der.
Skriv derefter følgende kode 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
Her har jeg oprettet en underprocedure kaldet SplitExcelSheet_into_MultipleSheets .
Hvor jeg har erklæret et par variabler, som er WorkRng og xRow som Område type så
SplitRow som Hele tal også xWs som Arbejdsark type.
Også brugt ExcelTitleId til at give den dialogboks titel.
Jeg har angivet split row-nummer 4 at opdele data med 4 rækker, fordi der i mit datasæt er Måned på Januar har 4 rækker.
Endelig blev der brugt en Til loop til SplitRow indtil det givne celleområde slutter.
Derefter, Gem koden, og gå tilbage til regnearket.
Nu skal du åbne den Udvikler faneblad>> Fra Indsæt >> vælg Knap
A dialogboks vil dukke op.
For at tildele den Makro i den indsatte Knap .
Vælg SplitExcelSheet_into_Multiplesheets fra den Makronavn og klik derefter på OK .
Du skal blot klikke på Knap til at køre Makro .
Nu er en dialogboks vil dukke op, hvor du kan indsætte dataene rækkevidde.
➤Her har jeg valgt celleområdet B1:E12
Klik derefter på OK .
En anden dialogboks vises for at vise dig det valgte antal rækker, som du allerede har angivet i koden til opdeling af datasættet.
➤ I koden har jeg angivet 4 som Split Row Num
Da jeg i alt har 12 rækker så med 4 rækker vil der være 3 ark .
På Ark1 , vises dataene for de første 4 rækker.
På Ark2 , vises dataene for række 5 til 8.
På Ark3 , vises dataene for de sidste 4 rækker.
Læs mere: Excel VBA: Opdel ark i flere ark baseret på rækker
Lignende læsninger
- Sådan deler du skærmen i Excel (3 måder)
- [Løsning:] Excel View Side by Side virker ikke
- Sådan adskiller du ark i Excel (6 effektive måder)
- Åbn to Excel-filer separat (5 nemme metoder)
- Sådan opdeles Excel-ark i flere filer (3 hurtige metoder)
3. Opdel Excel-ark i flere arbejdsmapper baseret på kolonne
Før du starter proceduren, skal du huske, at du skal starte data fra den første række og første kolonne.
Nu skal du åbne den Udvikler faneblad>> vælg Visual Basic
Det vil åbne et nyt vindue med Microsoft Visual Basic for Applications .
Nu, fra Indsæt >> vælg Modul
A Modul vil åbne der.
Skriv derefter følgende kode 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
Her har jeg oprettet en underprocedure kaldet SplitSheetIntoMultipleWorkbooksBasedOnColumn , hvor jeg erklærede flere variabler.
Jeg brugte 3 TIL sløjfer. Den 1. TIL loop vil tælle rækkerne fra række 2 til den sidste række med værdi for at få den specifikke kolonne. Jeg har givet instansen af "C" kolonne.
Du kan ændre det til din sag
Den 2. Til loop vil oprette en ny Excel-arbejdsbog.
Den 3. Fo r loop vil kopiere dataene med samme kolonne "C" værdi til den nye projektmappe fra 2. række til sidste række med værdi.
Derefter, Gem koden, og gå tilbage til regnearket.
Nu skal du åbne den Se faneblad>> Fra Makroer >> vælg Vis makroer
A dialogboks vil dukke op.
Nu, fra den Makronavn vælge den SplitSheetIntoMultipleWorkbooksBasedOnColumn også vælge arbejdsmappen i Makroer i .
Endelig, Kør den valgte Makro .
Til sidst vil du se, at der er oprettet 3 nye arbejdsbøger, da der er 3 forskellige Måneder i kolonne C . Bog1 til Januar .
Bog2 for den Februar .
Bog3 til Marts .
Læs mere: Sådan Split Excel-ark i flere ark baseret på kolonneværdi
Konklusion
I denne artikel har jeg forklaret 3 måder at opdele Excel-ark i flere regneark på. Du kan følge nogen af de forklarede måder at opdele dit Excel-ark i flere regneark på. Hvis du har nogen forvirring eller spørgsmål vedrørende disse metoder, kan du kommentere nedenfor.