Hoe een grote tabel opsplitsen in meerdere kleine tabellen in Excel?
Als u een groot werkblad heeft dat meerdere kolommen en honderden of duizenden rijen gegevens bevat, wilt u deze grote tabel nu opsplitsen in meerdere kleine tabellen op basis van de kolomwaarde of het aantal rijen om de volgende resultaten te krijgen. Hoe zou u deze taak in Excel kunnen aanpakken?
Hoofdtafel | Splits de tabel in meerdere tabellen op kolomwaarde | Splits de tabel in meerdere tabellen op basis van het aantal rijen | |
Splits een grote tabel in meerdere tabellen op basis van de kolomwaarde met VBA-code
Splits een grote tabel in meerdere tabellen op basis van het specifieke aantal rijen met VBA-code
Splits een grote tabel in meerdere tabellen op basis van de kolomwaarde met VBA-code
Om deze grote tabel op te splitsen in meerdere tabellen op basis van een specifieke kolomwaarde, kan de volgende VBA-code u een plezier doen. Doe alstublieft als volgt:
1. Houd de ALT + F11 toetsen om de te openen Microsoft Visual Basic voor toepassingen venster.
2. Klikken Invoegen > Moduleen plak de volgende code in het Module Venster.
VBA-code: splits een grote tabel in meerdere tabellen per sleutelkolom:
Sub Splitdatabycol()
'by Extendoffice
Dim lr As Long
Dim ws As Worksheet
Dim vcol, i As Integer
Dim icol As Long
Dim myarr As Variant
Dim title As String
Dim titlerow As Integer
Dim xTRg As Range
Dim xVRg As Range
Dim xWSTRg As Worksheet
On Error Resume Next
Set xTRg = Application.InputBox("Please select the header rows:", "Kutools for Excel", "", Type:=8)
If TypeName(xTRg) = "Nothing" Then Exit Sub
Set xVRg = Application.InputBox("Please select the column you want to split data based on:", "Kutools for Excel", "", Type:=8)
If TypeName(xVRg) = "Nothing" Then Exit Sub
vcol = xVRg.Column
Set ws = xTRg.Worksheet
lr = ws.Cells(ws.Rows.Count, vcol).End(xlUp).Row
title = xTRg.AddressLocal
titlerow = xTRg.Cells(1).Row
icol = ws.Columns.Count
ws.Cells(1, icol) = "Unique"
Application.DisplayAlerts = False
If Not Evaluate("=ISREF('xTRgWs_Sheet!A1')") Then
Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = "xTRgWs_Sheet"
Else
Sheets("xTRgWs_Sheet").Delete
Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = "xTRgWs_Sheet"
End If
Set xWSTRg = Sheets("xTRgWs_Sheet")
xTRg.Copy
xWSTRg.Paste Destination:=xWSTRg.Range("A1")
ws.Activate
For i = (titlerow + xTRg.Rows.Count) To lr
On Error Resume Next
If ws.Cells(i, vcol) <> "" And Application.WorksheetFunction.Match(ws.Cells(i, vcol), ws.Columns(icol), 0) = 0 Then
ws.Cells(ws.Rows.Count, icol).End(xlUp).Offset(1) = ws.Cells(i, vcol)
End If
Next
myarr = Application.WorksheetFunction.Transpose(ws.Columns(icol).SpecialCells(xlCellTypeConstants))
ws.Columns(icol).Clear
For i = 2 To UBound(myarr)
ws.Range(title).AutoFilter field:=vcol, Criteria1:=myarr(i) & ""
If Not Evaluate("=ISREF('" & myarr(i) & "'!A1)") Then
Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = myarr(i) & ""
Else
Sheets(myarr(i) & "").Move after:=Worksheets(Worksheets.Count)
End If
xWSTRg.Range(title).Copy
Sheets(myarr(i) & "").Paste Destination:=Sheets(myarr(i) & "").Range("A1")
ws.Range("A" & (titlerow + xTRg.Rows.Count) & ":A" & lr).EntireRow.Copy Sheets(myarr(i) & "").Range("A" & (titlerow + xTRg.Rows.Count))
Sheets(myarr(i) & "").Columns.AutoFit
Next
xWSTRg.Delete
ws.AutoFilterMode = False
ws.Activate
Application.DisplayAlerts = True
End Sub
3. Druk na het plakken van de code op F5 sleutel om deze code uit te voeren, en er verschijnt een promptvenster, selecteer de kopregel uit uw gegevens, zie screenshot:
4. Dan klikken OK, en een ander dialoogvenster verschijnt, selecteer de kolomgegevens waarop u de tabel wilt splitsen, zie screenshot:
5. Klikken OK, deze grote tabel is opgesplitst in meerdere werkbladen op basis van de kolomwaarde die zich achter het hoofdblad bevindt. En de nieuwe werkbladen krijgen een naam met de kolomwaarde. Zie screenshot:
Splits een grote tabel in meerdere tabellen op basis van het specifieke aantal rijen met VBA-code
Als u de tabel in meerdere tabellen moet splitsen op basis van het aantal rijen, kan de volgende VBA-code u helpen.
1. Houd de ALT + F11 toetsen om de te openen Microsoft Visual Basic voor toepassingen venster.
2. Klikken Invoegen > Moduleen plak de volgende code in het Module Venster.
VBA-code: splits een grote tabel in meerdere tabellen op basis van het aantal rijen:
Sub Splitdatabyrows()
'Updated by Extendoffice
Dim WorkRng As Range
Dim xRow As Range
Dim SplitRow As Integer
Dim xWs As Worksheet
Dim xTRg As Range
Dim xNTRg As Range
Dim xIER
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set xTRg = Application.InputBox("Please select the header row:", xTitleId, "", Type:=8)
If TypeName(xTRg) = "Nothing" Then Exit Sub
Set WorkRng = Application.InputBox("Please select the data range(exclude the header row):", xTitleId, WorkRng.Address, Type:=8)
If TypeName(WorkRng) = "Nothing" Then Exit Sub
SplitRow = Application.InputBox("Split Row Num", xTitleId, Type:=1)
If SplitRow = 0 Then Exit Sub
Set xWs = WorkRng.Parent
Set xRow = WorkRng.Rows(1)
xIER = WorkRng.Rows.Count
xIER = WorkRng.Row + xIER - 1
Application.ScreenUpdating = False
For i = 1 To WorkRng.Rows.Count Step SplitRow
resizeCount = SplitRow
If (xIER - xRow.Row + 1) < SplitRow Then
resizeCount = (xIER - xRow.Row + 1)
End If
xRow.Resize(resizeCount).Copy
Set xWs = Application.Worksheets.Add(after:=Application.Worksheets(Application.Worksheets.Count))
If xIER > (xRow.Row + SplitRow - 1) Then
xWs.Name = xRow.Row & " - " & (xRow.Row + SplitRow - 1)
ElseIf xIER = xRow.Row Then
xWs.Name = xRow.Row
Else
xWs.Name = xRow.Row & " - " & xIER
End If
Application.ActiveSheet.Range("A1").PasteSpecial
Set xNTRg = Application.ActiveSheet.Range("A1")
xTRg.Copy
xNTRg.Insert
Set xRow = xRow.Offset(SplitRow)
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
3. Druk vervolgens op F5 key, selecteer in het pop-upvenster de titelrij, zie screenshot:
4. Dan klikken OK, en selecteer in het tweede promptvenster het gegevensbereik dat u wilt splitsen op aantal rijen, zie screenshot:
5. En blijf dan klikken OK knop, voer in het derde promptvenster het aantal rijen in waarmee u wilt splitsen, zie screenshot:
6. Dan klikken OK knop, is de hoofdtabel opgesplitst in meerdere werkbladen op basis van het aantal rijen zoals hieronder getoond screenshot:
Splits een grote tabel in meerdere tabellen op basis van de kolomwaarde of het aantal rijen met een geweldige functie
Misschien zijn de bovenstaande codes moeilijk voor de meeste gebruikers, hier zal ik een geweldige functie introduceren-Gegevens splitsen of Kutools for Excel. Met dit hulpprogramma kunt u een grote tabel snel en gemakkelijk opsplitsen in meerdere tabellen per sleutelkolom of aantal rijen.
Tips:Om dit toe te passen Gegevens splitsen -functie, ten eerste moet u de Kutools for Excelen pas de functie vervolgens snel en gemakkelijk toe.
Na het installeren van Kutools for Excel, doe dit als volgt:
1. Selecteer het gegevensbereik dat u wilt splitsen en klik vervolgens op Koetools Plus > Gegevens splitsen, zie screenshot:
2. In de Gegevens splitsen in meerdere werkbladen dialoogvenster, specificeer de instellingen naar uw behoefte:
(1.) Selecteer Specifieke kolom or Vaste rijen van het Splitsen op basis van sectie zoals je nodig hebt;
(2.) Specificeer de nieuwe werkbladnaam van het Reglement vervolgkeuzelijst, kunt u de Voorvoegsel or Toevoeging ook naar de bladnamen.
3. Dan klikken Ok knop, en nu is de grote tabel opgesplitst in meerdere kleine tabellen in een nieuwe werkmap. Zie screenshots:
Splits de tabel in meerdere tabellen op kolomwaarde | Splits de tabel in meerdere tabellen op basis van het aantal rijen |
Klik om Kutools voor Excel en nu gratis uit te proberen!
Meer relatieve artikelen:
- Splits een werkmap om Excel-bestanden in Excel te scheiden
- Mogelijk moet u een grote werkmap splitsen om Excel-bestanden te scheiden door elk werkblad van de werkmap op te slaan als een afzonderlijk Excel-bestand. U kunt bijvoorbeeld een werkmap opsplitsen in meerdere afzonderlijke Excel-bestanden en vervolgens elk bestand aan een andere persoon bezorgen om het af te handelen. Door dit te doen, kunt u ervoor zorgen dat bepaalde personen specifieke gegevens verwerken en uw gegevens veilig houden. Dit artikel introduceert manieren om een grote werkmap te splitsen om Excel-bestanden te scheiden op basis van elk werkblad.
- Splits volledige naam in voor- en achternaam in Excel
- Stel dat je een naamlijst hebt zoals de eerste schermafdruk in een enkele kolom hieronder laat zien, en je moet de volledige naam splitsen in de voornaamkolom, middelste naamkolom en achternaamkolom zoals in de volgende schermafbeelding wordt getoond. Hier zijn enkele lastige methoden om u te helpen dit probleem op te lossen.
- Splits een lange kolom in meerdere kolommen in Excel
- Als u lange kolomgegevens in Excel heeft, zal dit lastig zijn bij het bekijken ervan. Maar als u nu zo'n lange lijst in Excel in meerdere kolommen kunt splitsen, wordt het bekijken gemakkelijk.
- Splits een woord of nummer in afzonderlijke cellen in Excel
- Als u een lijst met getallen of woorden in een werkblad heeft en u nu de celinhoud in letters in verschillende cellen moet splitsen zoals in het onderstaande screenshot, hoe kunt u dan met deze taak omgaan in Excel?
- Splits een lange lijst in gelijke groepen in Excel
- Als u een lange lijst met gegevens heeft die in meerdere gelijke groepen moeten worden opgesplitst, zoals in de volgende schermafbeelding, hoe kunt u deze taak dan snel en gemakkelijk in Excel afhandelen?
De beste tools voor kantoorproductiviteit
Kutools voor Excel lost de meeste van uw problemen op en verhoogt uw productiviteit met 80%
- Super Formula-balk (bewerk eenvoudig meerdere regels tekst en formule); Lay-out lezen (gemakkelijk grote aantallen cellen lezen en bewerken); Plakken in gefilterd bereik...
- Voeg cellen / rijen / kolommen samen en het bewaren van gegevens; Gespleten cellen inhoud; Combineer dubbele rijen en som / gemiddelde... Voorkom dubbele cellen; Vergelijk Ranges...
- Selecteer Dupliceren of Uniek Rijen; Selecteer lege rijen (alle cellen zijn leeg); Super zoeken en fuzzy zoeken in veel werkboeken; Willekeurige selectie ...
- Exacte kopie Meerdere cellen zonder de formuleverwijzing te wijzigen; Maak automatisch verwijzingen naar meerdere bladen; Plaats kogels, Selectievakjes en meer ...
- Favoriete formules en snel invoegen, Bereiken, grafieken en afbeeldingen; Versleutel cellen met wachtwoord; Maak een mailinglijst en stuur e-mails ...
- Extraheer tekst, Tekst toevoegen, Verwijderen op positie, Ruimte verwijderen; Paging-subtotalen maken en afdrukken; Converteren tussen celinhoud en opmerkingen...
- Super filter (bewaar en pas filterschema's toe op andere bladen); Geavanceerd sorteren per maand / week / dag, frequentie en meer; Speciaal filter door vet, cursief ...
- Combineer werkmappen en werkbladen; Tabellen samenvoegen op basis van sleutelkolommen; Gegevens splitsen in meerdere bladen; Batch Converteer xls, xlsx en PDF...
- Draaitabel groeperen op weeknummer, dag van de week en meer ... Toon ontgrendelde, vergrendelde cellen door verschillende kleuren; Markeer cellen met formule / naam...
- Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
- Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
- Verhoogt uw productiviteit met 50% en vermindert honderden muisklikken voor u elke dag!