Hur delar jag en stor tabell i flera små tabeller i Excel?
Om du har ett stort kalkylblad som innehåller flera kolumner och hundratals eller tusentals rader, vill du nu dela upp den här stora tabellen i flera små tabeller baserat på kolumnvärdet eller antalet rader för att få följande resultat. Hur kunde du hantera den här uppgiften i Excel?
Huvudbord | Dela tabellen i flera tabeller efter kolumnvärde | Dela tabellen i flera tabeller efter antal rader | |
Dela upp en stor tabell i flera tabeller baserat på kolumnvärde med VBA-kod
Dela upp en stor tabell i flera tabeller baserat på det specifika antalet rader med VBA-kod
Dela upp en stor tabell i flera tabeller baserat på kolumnvärde med VBA-kod
För att dela upp den här stora tabellen i flera tabeller baserat på ett visst kolumnvärde kan följande VBA-kod göra dig en tjänst. Gör så här:
1. Håll ner ALT + F11 nycklar för att öppna Microsoft Visual Basic för applikationer fönster.
2. Klicka Insert > Modulernaoch klistra in följande kod i Modulerna Fönster.
VBA-kod: Dela upp en stor tabell i flera tabeller med nyckelkolumn:
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. När du har klistrat in koden trycker du på F5 nyckel för att köra den här koden och en snabbruta dyker upp, välj rubrikraden från dina data, se skärmdump:
4. Klicka sedan OK, och en annan dialogruta dyker upp, välj kolumndata som du vill dela tabellen baserat på, se skärmdump:
5. Klicka OK, har denna stora tabell delats upp i flera kalkylblad av kolumnvärdet som ligger efter huvudarket. Och de nya kalkylbladet heter med kolumnvärdet. Se skärmdump:
Dela upp en stor tabell i flera tabeller baserat på det specifika antalet rader med VBA-kod
Om du behöver dela upp tabellen i flera tabeller baserat på antalet rader kan följande VBA-kod hjälpa dig.
1. Håll ner ALT + F11 nycklar för att öppna Microsoft Visual Basic för applikationer fönster.
2. Klicka Insert > Modulernaoch klistra in följande kod i Modulerna Fönster.
VBA-kod: Dela upp en stor tabell i flera tabeller efter antal rader:
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. Tryck sedan på F5 nyckel, i popup-dialogrutan, välj rubrikraden, se skärmdump:
4. Klicka sedan OK, och i den andra rutan, välj det dataområde som du vill dela med rader, se skärmdump:
5. Och fortsätt sedan med att klicka OK knappen, i den tredje rutan, ange antalet rader som du vill dela med, se skärmdump:
6. Klicka sedan OK -knappen har mastertabellen delats upp i flera kalkylblad baserat på antalet rader enligt nedanstående skärmdump:
Dela upp en stor tabell i flera tabeller baserat på kolumnvärde eller antal rader med en fantastisk funktion
Kan vara ovanstående koder är svåra för de flesta användare, här kommer jag att introducera en fantastisk funktion-Split data of Kutools för Excel. Med det här verktyget kan du dela upp en stor tabell i flera tabeller med nyckelkolumn eller antal rader snabbt och enkelt.
Tips:Att tillämpa detta Split data funktionen, först bör du ladda ner Kutools för Excel, och använd sedan funktionen snabbt och enkelt.
När du har installerat Kutools för Excel, gör så här:
1. Välj dataområdet som du vill dela och klicka sedan på Kutools Plus > Split data, se skärmdump:
2. I Dela data i flera kalkylblad dialogrutan, ange inställningarna för ditt behov:
(1.) Välj Specifik kolumn or Fasta rader från Dela baserat på avsnitt som du behöver;
(2.) Ange namnet på det nya kalkylbladet från regler rullgardinsmenyn kan du lägga till Prefix or Ändelse till arknamnen också.
3. Klicka sedan Ok knappen, och nu har den stora tabellen delats upp i flera små tabeller i en ny arbetsbok. Se skärmdumpar:
Dela tabellen i flera tabeller efter kolumnvärde | Dela tabellen i flera tabeller efter antal rader |
Klicka för att ladda ner Kutools för Excel och gratis testversion nu!
Fler relativa artiklar:
- Dela upp en arbetsbok för att separera Excel-filer i Excel
- Du kan behöva dela upp en stor arbetsbok för att separera Excel-filer genom att spara varje arbetsblad i arbetsboken som en enskild Excel-fil. Du kan till exempel dela upp en arbetsbok i flera enskilda Excel-filer och sedan leverera varje fil till olika personer för att hantera den. Genom att göra det kan du få vissa personer att hantera specifika data och hålla dina data säkra. Den här artikeln presenterar sätt att dela en stor arbetsbok för att separera Excel-filer baserat på varje kalkylblad.
- Dela fullständigt namn till för- och efternamn i Excel
- Om du antar att du har en namnlista som den första skärmbilden visas i en enda kolumn nedan, och du måste dela hela namnet till förnamnskolumnen , mellannamnskolumn och efternamnkolumn som följande skärmdump visas. Här är några knepiga metoder som hjälper dig att lösa detta problem.
- Dela en lång kolumn i flera kolumner i Excel
- Om du har en lång kolumninformation i Excel som kommer att vara besvärlig när du visar dem. Men nu, om du kan dela upp en sådan lång lista i flera kolumner i Excel, kommer det att göra visningen bekvämt.
- Dela upp ord eller nummer i separata celler i Excel
- Om du har en lista med siffror eller ord i ett kalkylblad och nu måste du dela upp cellinnehållet i bokstäver på olika celler enligt följande skärmdump, hur kan du hantera det här jobbet i Excel?
- Dela upp en lång lista i lika stora grupper i Excel
- Om du har en lång lista med data som behövs för att delas upp i flera lika stora grupper som följande skärmdump visas, hur kan du hantera den här uppgiften snabbt och enkelt i Excel?
De bästa Office-produktivitetsverktygen
Kutools för Excel löser de flesta av dina problem och ökar din produktivitet med 80%
- Super Formula Bar (enkelt redigera flera rader med text och formel); Läslayout (enkelt läsa och redigera ett stort antal celler); Klistra in i filtrerat intervall...
- Sammanfoga celler / rader / kolumner och förvaring av data; Delat cellinnehåll; Kombinera duplicerade rader och summa / genomsnitt... Förhindra duplicerade celler; Jämför intervall...
- Välj Duplicera eller Unikt Rader; Välj tomma rader (alla celler är tomma); Super Find och Fuzzy Find i många arbetsböcker; Slumpmässigt val ...
- Exakt kopia Flera celler utan att ändra formelreferens; Skapa referenser automatiskt till flera ark; Sätt in kulor, Kryssrutor och mer ...
- Favorit och sätt snabbt in formler, Intervall, diagram och bilder; Kryptera celler med lösenord; Skapa e-postlista och skicka e-post ...
- Extrahera text, Lägg till text, ta bort efter position, Ta bort mellanslag; Skapa och skriva ut personsökningstalsatser; Konvertera mellan celler innehåll och kommentarer...
- Superfilter (spara och tillämpa filterscheman på andra ark); Avancerad sortering efter månad / vecka / dag, frekvens och mer; Specialfilter av fet, kursiv ...
- Kombinera arbetsböcker och arbetsblad; Sammanfoga tabeller baserat på nyckelkolumner; Dela data i flera ark; Batchkonvertera xls, xlsx och PDF...
- Gruppering av pivottabell efter veckonummer, veckodagen och mer ... Visa olåsta, låsta celler av olika färger; Markera celler som har formel / namn...
- Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
- Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
- Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!