Inhoudsopgave
Een grote dataset kan meerdere waarden bevatten op basis van dezelfde kolom. Als u wilt, kunt u de waarden van dezelfde categorieën (afdeling, maand, regio, staten, enz.) of uw voorkeuren opsplitsen in verschillende werkbladen of werkmappen. In dit artikel ga ik uitleggen hoe u Excel-blad in meerdere werkbladen kunt splitsen.
Om deze uitleg voor u duidelijker te maken, ga ik een voorbeeld-dataset gebruiken. Er zijn 4 kolommen in de dataset die verkoopinformatie van verschillende maanden weergeven. Deze kolommen zijn Verkoper, regio, maand, en Verkoop .
Downloaden naar de praktijk
Excel blad splitsen in meerdere werkbladen.xlsmManieren om Excel-blad in meerdere werkbladen te splitsen
1. Filteren en kopiëren
Vanuit elk blad kunt u de gegevens opsplitsen in meerdere bladen met behulp van Filter .
Selecteer eerst het celbereik waarin u de Filter .
Hier selecteerde ik het celbereik B3:E15 .
Open dan de Gegevens tab>> selecteer Filter .
U kunt ook CTRL + SHIFT + L toe te passen Filter met het toetsenbord .
Nu, Filter wordt toegepast op het geselecteerde celbereik.
Klik vervolgens op de Maand kolom als ik gegevens wil splitsen afhankelijk van Maand waarden.
Van daaruit heb ik gedeselecteerd alles behalve Januari Klik tenslotte op OK .
Nu, alle waarden waar de Maand is Januari worden gefilterd.
Dan, Kopie de gegevens en Plakken in het nieuwe werkblad.
Hier heb ik het nieuwe blad de naam Januari. Zo ziet u alle verkoopinformatie voor Januari wordt hier gepresenteerd.
Voor de rest van de Maanden kunt u dezelfde procedures volgen.
Klik opnieuw op de Maand kolom als ik gegevens wil splitsen afhankelijk van Maand waarden.
Van daaruit deselecteer alles behalve Februari Klik tenslotte op OK .
Nu zijn alle waarden voor Februari Maand worden gefilterd.
Dan, Kopie de gegevens en Plakken in het nieuwe werkblad.
Later noemde ik het nieuwe blad Februari. Zo ziet u alle verkoopinformatie voor de Maand van Februari wordt hier gepresenteerd.
Klik opnieuw op de Maand kolom als ik gegevens wil splitsen afhankelijk van Maand waarden.
Van daaruit deselecteer alles behalve Maart Klik tenslotte op OK .
Nu ziet u alle waarden van Maart worden gefilterd.
Dan, Kopie de gegevens en Plakken in het nieuwe werkblad.
Uiteindelijk noemde ik het nieuwe blad Maart Zo ziet u alle verkoopinformatie voor Maart wordt hier gepresenteerd.
Lees meer: Excel blad splitsen in meerdere bladen op basis van rijen
2. Excel-blad splitsen op basis van rijtelling met VBA
Voordat u met de procedure begint, moet u bedenken dat u de gegevens moet beginnen bij de eerste rijen.
Open nu de Ontwikkelaar tab>> selecteer Visual Basic
Het zal een nieuw venster openen van Microsoft Visual Basic voor toepassingen .
Nu, van Plaats >> selecteer Module
A Module zal daar openen.
Schrijf dan de volgende code in de Module .
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 = True Application.ScreenUpdating = True End Sub
Hier heb ik een subprocedure gemaakt met de naam SplitsenExcelSheet_into_MultipleSheets .
Waar ik een paar variabelen heb gedeclareerd zijn deze WorkRng en xRow als Bereik type dan
SplitRow als Integer ook xWs als Werkblad type.
Ook gebruikte ExcelTitleId om de dialoogvenster titel.
Ik heb het rijnummer gesplitst 4 om gegevens te splitsen door 4 rijen omdat in mijn dataset de Maand van Januari heeft 4 rijen.
Tenslotte gebruikte een Voor lus naar SplitRow totdat het opgegeven celbereik eindigt.
Dan, Sla de code en ga terug naar het werkblad.
Open nu de Ontwikkelaar tab>> Van Plaats >> selecteer Knop
A dialoogvenster zal verschijnen.
Om de Macro in de ingevoegde Knop .
Selecteer SplitsenExcelSheet_into_Multiplesheets van de Macro Naam klik dan op OK .
Klik gewoon op de Knop om de Macro .
Nu, een dialoogvenster zal verschijnen waar u de gegevens bereik.
Hier selecteerde ik het celbereik B1:E12
Klik dan op OK .
Een andere dialoogvenster verschijnt om u het aantal geselecteerde rijen te tonen dat u al in de code voor het splitsen van de dataset hebt opgegeven.
➤ In de code voorzag ik 4 als Split Row Num
Aangezien ik in totaal 12 rijen dus met 4 rijen zal er 3 bladen .
In Blad1 ziet u de gegevens van de eerste 4 rijen.
In Sheet2 ziet u de gegevens van rijen 5 tot en met 8.
In Blad3 ziet u de gegevens van de laatste 4 rijen.
Lees meer: Excel VBA: Blad splitsen in meerdere bladen op basis van rijen
Vergelijkbare lezingen
- Hoe het scherm splitsen in Excel (3 manieren)
- [Fix:] Excel Zij-aan-zij weergave werkt niet
- Sheets scheiden in Excel (6 effectieve manieren)
- Twee Excel-bestanden afzonderlijk openen (5 eenvoudige methodes)
- Hoe Excel Sheet splitsen in meerdere bestanden (3 snelle methoden)
3. Excel blad splitsen in meerdere werkboeken gebaseerd op kolommen
Voordat u met de procedure begint, moet u bedenken dat u de gegevens moet beginnen bij de eerste rij en de eerste kolom.
Open nu de Ontwikkelaar tab>> selecteer Visual Basic
Het zal een nieuw venster openen van Microsoft Visual Basic voor toepassingen .
Nu, van Plaats >> selecteer Module
A Module zal daar openen.
Schrijf dan de volgende code in de Module .
SubSheetIntoMultipleWorkbooksBasedOnColumn() 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.KeysVoor 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 End Sub
Hier heb ik een subprocedure gemaakt met de naam SplitSheetIntoMultipleWorkbooksBasedOnColumn waar ik meerdere variabelen heb gedeclareerd.
Ik gebruikte 3 VOOR lussen. De 1e VOOR lus zal de rijen tellen vanaf rij 2 tot de laatste rij met waarde om de specifieke kolom te krijgen. Ik heb de instantie van "C" column.
U kunt het aanpassen aan uw geval
De 2e Voor lus zal een nieuwe Excel-werkmap maken.
De 3e Fo r-lus kopieert de gegevens met dezelfde kolom "C" waarde naar de nieuwe werkmap vanaf de 2e rij tot de laatste rij met waarde.
Dan, Sla de code en ga terug naar het werkblad.
Open nu de Bekijk tab>> Van Macro's >> selecteer Macro's bekijken
A dialoogvenster zal verschijnen.
Nu, van de Macro naam selecteer de SplitSheetIntoMultipleWorkbooksBasedOnColumn selecteer ook de werkmap binnen Macro's in .
Eindelijk, Ren de geselecteerde Macro .
Tenslotte ziet u dat er 3 nieuwe werkmappen zijn gemaakt, omdat er 3 verschillende Maanden in kolom C . de Boek 1 voor Januari .
De Book2 voor de Februari .
De Boek3 voor Maart .
Lees meer: Hoe Excel blad splitsen in meerdere bladen op basis van kolomwaarde
Conclusie
In dit artikel heb ik 3 manieren uitgelegd om Excel blad in meerdere werkbladen te splitsen. U kunt een van de uitgelegde manieren volgen om uw Excel blad in meerdere werkbladen te splitsen. Als u enige verwarring of vraag heeft over deze methoden kunt u hieronder commentaar geven.