Cum să împărțiți o masă mare în mai multe tabele mici în Excel?
Dacă aveți o foaie de lucru mare care conține mai multe coloane și date de sute sau mii de rânduri, acum, doriți să împărțiți acest tabel mare în mai multe tabele mici pe baza valorii coloanei sau a numărului de rânduri pentru a obține următoarele rezultate. Cum ați putea face față acestei sarcini în Excel?
Tabelul principal | Împarte tabelul în mai multe tabele după valoarea coloanei | Împărțiți tabelul în mai multe tabele după numărul de rânduri | |
Împărțiți un tabel mare în mai multe tabele pe baza valorii coloanei cu codul VBA
Împărțiți un tabel mare în mai multe tabele pe baza numărului specific de rânduri cu cod VBA
Împărțiți un tabel mare în mai multe tabele pe baza valorii coloanei cu codul VBA
Pentru a împărți acest tabel mare în mai multe tabele pe baza unei anumite valori a coloanei, următorul cod VBA vă poate face o favoare. Vă rugăm să faceți acest lucru:
1. Țineți apăsat butonul ALT + F11 tastele pentru a deschide Microsoft Visual Basic pentru aplicații fereastră.
2. Clic Insera > Moduleși lipiți următorul cod în Module Fereastră.
Cod VBA: împarte un tabel mare în mai multe tabele după coloana cheie:
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. După lipirea codului, apăsați F5 pentru a rula acest cod și apare o casetă de prompt, selectați rândul antet din datele dvs., vedeți captura de ecran:
4. Apoi apasa OKși apare o altă casetă de dialog, selectați datele coloanei pe care doriți să împărțiți tabelul, vedeți captura de ecran:
5. Clic OK, acest tabel mare a fost împărțit în mai multe foi de lucru după valoarea coloanei care se află după foaia principală. Și noile foi de lucru sunt denumite cu valoarea coloanei. Vedeți captura de ecran:
Împărțiți un tabel mare în mai multe tabele pe baza numărului specific de rânduri cu cod VBA
Dacă trebuie să împărțiți tabelul în mai multe tabele pe baza numărului de rânduri, următorul cod VBA vă poate ajuta.
1. Țineți apăsat butonul ALT + F11 tastele pentru a deschide Microsoft Visual Basic pentru aplicații fereastră.
2. Clic Insera > Moduleși lipiți următorul cod în Module Fereastră.
Cod VBA: împarte un tabel mare în mai multe tabele după numărul de rânduri:
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. Apoi, apăsați F5 tasta, în caseta de dialog pop-up, selectați rândul de antet, consultați captura de ecran:
4. Apoi apasa OKși, în a doua casetă de prompt, selectați intervalul de date pe care doriți să îl împărțiți după numărul de rânduri, consultați captura de ecran:
5. Și apoi, continuați să faceți clic OK butonul, în a treia casetă de prompt, introduceți numărul de rânduri pe care doriți să le împărțiți, vedeți captura de ecran:
6. Apoi apasa OK butonul, tabelul principal a fost împărțit în mai multe foi de lucru pe baza numărului de rânduri, așa cum se arată în imaginea de mai jos:
Împărțiți un tabel mare în mai multe tabele pe baza valorii coloanei sau a numărului de rânduri cu o caracteristică uimitoare
Poate că codurile de mai sus sunt dificile pentru majoritatea utilizatorilor, aici, voi introduce o caracteristică uimitoare-Împărțiți datele of Kutools pentru Excel. Cu acest utilitar, puteți împărți rapid și ușor un tabel mare în mai multe tabele după coloana cheie sau numărul de rânduri.
Sfat:Pentru a aplica acest lucru Împărțiți datele caracteristică, în primul rând, ar trebui să descărcați Kutools pentru Excel, apoi aplicați caracteristica rapid și ușor.
După instalare Kutools pentru Excel, vă rugăm să faceți acest lucru:
1. Selectați intervalul de date pe care doriți să îl împărțiți, apoi faceți clic pe Kutools Plus > Împărțiți datele, vezi captura de ecran:
2. În Împărțiți datele în mai multe foi de lucru caseta de dialog, specificați setările pentru nevoile dvs.:
(1.) Selectați Coloană specifică or Rânduri fixe de la Split pe baza secțiunea după cum aveți nevoie;
(2.) Specificați numele noilor foi de lucru din Reguli lista derulantă, puteți adăuga fișierul Prefix or Sufix la numele foilor, de asemenea.
3. Apoi apasa Ok , iar acum, masa mare a fost împărțită în mai multe tabele mici într-un nou registru de lucru. Vedeți capturi de ecran:
Împarte tabelul în mai multe tabele după valoarea coloanei | Împărțiți tabelul în mai multe tabele după numărul de rânduri |
Faceți clic pentru a descărca Kutools pentru Excel și încercare gratuită acum!
Mai multe articole relative:
- Împărțiți un registru de lucru pentru a separa fișiere Excel în Excel
- Poate fi necesar să împărțiți un registru de lucru mare pentru a separa fișierele Excel salvând fiecare foaie de lucru a registrului de lucru ca fișier Excel individual. De exemplu, puteți împărți un registru de lucru în mai multe fișiere Excel individuale și apoi livrați fiecare fișier unei persoane diferite pentru a-l gestiona. Procedând astfel, puteți determina anumite persoane să gestioneze date specifice și să vă păstreze datele în siguranță. Acest articol va introduce modalități de a împărți un registru de lucru mare pentru a separa fișierele Excel pe baza fiecărei foi de lucru.
- Împarte numele complet la prenumele și prenumele din Excel
- Presupunând că aveți o listă de nume așa cum apare prima captură de ecran într-o singură coloană de mai jos și trebuie să împărțiți numele complet la coloana prenumelui , coloana numelui de mijloc și a coloanei de nume, după cum se arată în următoarea captură de ecran. Iată câteva metode dificile pentru a vă ajuta să rezolvați această problemă.
- Împarte o coloană lungă în mai multe coloane din Excel
- Dacă aveți o coloană lungă de date în Excel, care va fi supărătoare atunci când le vizualizați. Dar acum, dacă puteți împărți o listă atât de lungă în mai multe coloane în Excel, vizualizarea va fi comodă.
- Împărțiți cuvântul sau numărul în celule separate în Excel
- Dacă aveți o listă de numere sau cuvinte într-o foaie de lucru și acum trebuie să împărțiți conținutul celulei în litere pe celule diferite, după cum se arată în următoarea captură de ecran, cum puteți face acest lucru în Excel?
- Împarte o listă lungă în grupuri egale în Excel
- Dacă aveți o listă lungă de date care trebuie împărțite în mai multe grupuri egale, după cum se arată în următoarea captură de ecran, cum ați putea face față acestei sarcini rapid și ușor în Excel?
Cele mai bune instrumente de productivitate Office
Kutools pentru Excel vă rezolvă majoritatea problemelor și vă crește productivitatea cu 80%
- Super Formula Bar (editați cu ușurință mai multe linii de text și formulă); Layout de citire (citiți și editați cu ușurință un număr mare de celule); Lipiți la interval filtrat...
- Merge celule / rânduri / coloane și păstrarea datelor; Conținut de celule divizate; Combinați rânduri duplicate și sumă / medie... Prevenirea celulelor duplicate; Comparați gamele...
- Selectați Duplicat sau Unic Rânduri; Selectați Rânduri goale (toate celulele sunt goale); Super Find și Fuzzy Find în multe cărți de lucru; Selectare aleatorie ...
- Copie exactă Mai multe celule fără modificarea referinței formulelor; Creați automat referințe la foi multiple; Introduceți gloanțe, Casete de selectare și multe altele ...
- Formule favorite și inserare rapidă, Gama, Diagrame și Imagini; Criptați celulele cu parola; Creați o listă de corespondență și trimiteți e-mailuri ...
- Extrageți textul, Adăugați text, eliminați după poziție, Eliminați spațiul; Creați și imprimați subtotaluri de paginare; Convertiți conținutul dintre celule și comentarii...
- Super Filtru (salvați și aplicați scheme de filtrare altor foi); Sortare avansată după lună / săptămână / zi, frecvență și multe altele; Filtru special cu bold, italic ...
- Combinați cărți de lucru și foi de lucru; Merge Tables pe baza coloanelor cheie; Împărțiți datele în mai multe foi; Conversia în loturi xls, xlsx și PDF...
- Gruparea tabelului pivot după numărul săptămânii, ziua săptămânii și multe altele ... Afișați celulele deblocate, blocate prin diferite culori; Evidențiați celulele care au formulă / nume...
- Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
- Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ferestrele noi.
- Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!