Hvordan opdeles en stor tabel i flere små tabeller i Excel?
Hvis du har et stort regneark, der indeholder flere kolonner og hundreder eller tusinder af rækkedata, vil du nu opdele denne store tabel i flere små tabeller baseret på kolonneværdien eller antallet af rækker for at få følgende resultater. Hvordan kunne du håndtere denne opgave i Excel?
Hovedbord | Opdel tabel i flere tabeller efter kolonneværdi | Opdel bord i flere tabeller efter antal rækker | |
Opdel en stor tabel i flere tabeller baseret på kolonneværdi med VBA-kode
Opdel en stor tabel i flere tabeller baseret på det specifikke antal rækker med VBA-kode
Opdel en stor tabel i flere tabeller baseret på kolonneværdi med VBA-kode
For at opdele denne store tabel i flere tabeller baseret på en bestemt kolonneværdi, kan følgende VBA-kode gøre dig en tjeneste. Gør som dette:
1. Hold nede ALT + F11 nøgler til at åbne Microsoft Visual Basic til applikationer vindue.
2. Klik indsatte > Moduler, og indsæt følgende kode i Moduler Vindue.
VBA-kode: Del en stor tabel i flere tabeller efter nøglekolonne:
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 indsat koden, skal du trykke på F5 nøgle til at køre denne kode, og en promptboks vises, skal du vælge overskriftsrækken fra dine data, se skærmbillede:
4. Klik derefter på OK, og en anden dialogboks vises. Vælg venligst de søjledata, du vil opdele tabellen ud fra, se skærmbillede:
5. Klik OK, denne store tabel er opdelt i flere regneark efter kolonneværdien, der er placeret efter masterarket. Og de nye regneark er navngivet med kolonneværdien. Se skærmbillede:
Opdel en stor tabel i flere tabeller baseret på det specifikke antal rækker med VBA-kode
Hvis du har brug for at opdele tabellen i flere tabeller baseret på antallet af rækker, kan følgende VBA-kode hjælpe dig.
1. Hold nede ALT + F11 nøgler til at åbne Microsoft Visual Basic til applikationer vindue.
2. Klik indsatte > Moduler, og indsæt følgende kode i Moduler Vindue.
VBA-kode: Del en stor tabel i flere tabeller efter antal rækker:
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. Tryk derefter på F5 nøgle, i pop op-dialogboksen skal du vælge overskriftsrækken, se skærmbillede:
4. Klik derefter på OK, og i det andet felt til prompt skal du vælge det dataområde, du vil opdele efter antal rækker, se skærmbillede:
5. Og fortsæt med at klikke OK knap, i det tredje promptfelt, indtast antallet af rækker, som du vil opdele efter, se skærmbillede:
6. Klik derefter på OK knap, er hovedtabellen opdelt i flere regneark baseret på antallet af rækker som vist nedenstående skærmbillede:
Opdel en stor tabel i flere tabeller baseret på kolonneværdi eller antal rækker med en fantastisk funktion
Kan være ovenstående koder er vanskelige for de fleste brugere, her vil jeg introducere en fantastisk funktion-Opdel data of Kutools til Excel. Med dette værktøj kan du opdele en stor tabel i flere tabeller efter nøglekolonne eller antal rækker hurtigt og nemt.
tips:At anvende dette Opdel data funktion, for det første skal du downloade Kutools til Excel, og anvend derefter funktionen hurtigt og nemt.
Efter installation Kutools til Excelskal du gøre som dette:
1. Vælg det dataområde, du vil opdele, og klik derefter på Kutools Plus > Opdel data, se skærmbillede:
2. I Opdel data i flere regneark dialogboks, skal du angive indstillingerne efter dit behov:
(1.) Vælg Specifik kolonne or Faste rækker fra Split baseret på sektion, som du har brug for;
(2.) Angiv det nye regnearknavn fra Regler rulleliste, kan du tilføje Præfiks or Suffiks til arknavne også.
3. Klik derefter på Ok knappen, og nu er den store tabel opdelt i flere små tabeller i en ny projektmappe. Se skærmbilleder:
Opdel tabel i flere tabeller efter kolonneværdi | Opdel bord i flere tabeller efter antal rækker |
Klik for at downloade Kutools til Excel og gratis prøveversion nu!
Flere relative artikler:
- Opdel en projektmappe for at adskille Excel-filer i Excel
- Det kan være nødvendigt at dele en stor projektmappe for at adskille Excel-filer ved at gemme hvert regneark i projektmappen som en individuel Excel-fil. For eksempel kan du opdele en projektmappe i flere individuelle Excel-filer og derefter levere hver fil til forskellige personer for at håndtere den. Ved at gøre det kan du få bestemte personer til at håndtere specifikke data og holde dine data sikre. Denne artikel introducerer måder at opdele en stor projektmappe på for at adskille Excel-filer baseret på hvert regneark.
- Opdel fuldt navn til for- og efternavn i Excel
- Antag, at du har en navneoversigt, som det første skærmbillede vises i en enkelt kolonne nedenfor, og du skal opdele det fulde navn til fornavnskolonnen , mellemkolonne og efternavnskolonne som det følgende skærmbillede vises. Her er nogle vanskelige metoder til at hjælpe dig med at løse dette problem.
- Opdel en lang kolonne i flere kolonner i Excel
- Hvis du har en lang søjledata i Excel, som vil være besværlig, når du ser dem. Men nu, hvis du kan opdele en sådan lang liste i flere kolonner i Excel, vil det gøre visningen bekvemt.
- Opdel ord eller antal i separate celler i Excel
- Hvis du har en liste med tal eller ord i et regneark, og nu er du nødt til at opdele celleindholdet i bogstaver på forskellige celler som vist nedenstående skærmbillede, hvordan kan du håndtere dette job i Excel?
- Opdel en lang liste i lige store grupper i Excel
- Hvis du har en lang liste med data, der er nødvendige for at blive delt i flere lige store grupper som følgende skærmbillede vist, hvordan kan du håndtere denne opgave hurtigt og nemt i Excel?
De bedste Office-produktivitetsværktøjer
Kutools til Excel løser de fleste af dine problemer og øger din produktivitet med 80%
- Super formel bar (let redigere flere linjer med tekst og formel); Læsning Layout (let at læse og redigere et stort antal celler); Indsæt til filtreret rækkevidde...
- Flet celler / rækker / kolonner og opbevaring af data; Split celler indhold; Kombiner duplikatrækker og sum / gennemsnit... Forhindre duplikerede celler; Sammenlign områder...
- Vælg Duplicate eller Unique Rækker; Vælg tomme rækker (alle celler er tomme); Super Find og Fuzzy Find i mange arbejdsbøger; Tilfældig valg ...
- Præcis kopi Flere celler uden at ændre formelreference; Auto Opret referencer til flere ark; Indsæt kugler, Afkrydsningsfelter og mere ...
- Foretrukne og hurtigt indsætte formler, Områder, diagrammer og billeder; Krypter celler med adgangskode Opret postliste og send e-mails ...
- Uddrag tekst, Tilføj tekst, Fjern efter position, Fjern mellemrum; Opret og udskriv personsøgningssubtotaler; Konverter mellem celler indhold og kommentarer...
- Superfilter (gem og anvend filterskemaer på andre ark); Avanceret sortering efter måned / uge / dag, hyppighed og mere; Specielt filter af fed, kursiv ...
- Kombiner arbejdsbøger og arbejdsark; Fletabeller baseret på nøglekolonner; Opdel data i flere ark; Batch Konverter xls, xlsx og PDF...
- Pivottabelgruppering efter ugenummer, ugedag og mere ... Vis ulåste, låste celler ved forskellige farver; Fremhæv celler, der har formel / navn...
- Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
- Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
- Øger din produktivitet med 50 % og reducerer hundredvis af museklik for dig hver dag!