Cuprins
Un set mare de date poate conține mai multe valori bazate pe aceeași coloană. Dacă doriți, puteți împărți valorile aceleiași categorii (Departament, Lună, Regiune, State, etc.) sau preferințele dvs. în foi de calcul sau registre de lucru diferite. În acest articol, voi explica, cum să împărțiți foaia Excel în mai multe foi de calcul.
Pentru ca această explicație să vă fie mai clară, voi folosi un set de date de exemplu. În setul de date există 4 coloane care reprezintă informații despre vânzări din diferite luni. Aceste coloane sunt Persoană de vânzări, regiune, lună, și Vânzări .
Descărcați pentru a practica
Divizarea foii Excel în mai multe foi de lucru.xlsmModalități de a împărți foaia Excel în mai multe foi de lucru
1. Utilizarea funcției Filtru și copiere
Din orice foaie, puteți împărți datele în mai multe foi folosind Filtru .
În primul rând, selectați intervalul de celule în care doriți să aplicați Filtru .
➤Aici, am selectat intervalul de celule B3:E15 .
Apoi, deschideți fereastra Date tab>> selectați Filtru .
De asemenea, puteți utiliza CTRL + SHIFT + L pentru a aplica Filtru utilizarea tastaturii .
Acum, Filtru se aplică intervalului de celule selectat.
În continuare, faceți clic pe butonul Luna coloană, deoarece vreau să împart datele în funcție de Luna valori.
De acolo am deselectat totul, cu excepția Ianuarie . în cele din urmă, faceți clic pe OK .
Acum, toate valorile la care se aplică Luna este Ianuarie sunt filtrate.
Apoi, Copiați datele și Paste în noua foaie de lucru.
Aici, am numit noua foaie Ianuarie. Astfel, veți vedea toate informațiile despre vânzări pentru Ianuarie este prezentat aici.
Pentru restul Luni , puteți urma aceleași proceduri.
Din nou, faceți clic pe butonul Luna coloană, deoarece vreau să împart datele în funcție de Luna valori.
De acolo deselectați totul, cu excepția Februarie . în cele din urmă, faceți clic pe OK .
Acum, toate valorile pentru Februarie Luna sunt filtrate.
Apoi, Copiați datele și Paste în noua foaie de lucru.
Ulterior, am numit noua foaie Februarie. Astfel, veți vedea toate informațiile privind vânzările pentru Luna de Februarie este prezentat aici.
Din nou, faceți clic pe butonul Luna coloană, deoarece vreau să împart datele în funcție de Luna valori.
De acolo deselectați totul, cu excepția Martie . în cele din urmă, faceți clic pe OK .
Acum, veți vedea toate valorile din Martie sunt filtrate.
Apoi, Copiați datele și Paste în noua foaie de lucru.
În cele din urmă, am numit noua foaie Martie Astfel, veți vedea toate informațiile despre vânzări pentru Martie este prezentat aici.
Citește mai mult: Împărțiți foaia Excel în mai multe foi pe baza rândurilor
2. Împărțiți foaia Excel pe baza numărului de rânduri folosind VBA
Înainte de a începe procedura, trebuie să vă amintiți că trebuie să începeți datele de la primele rânduri.
Acum, deschideți fereastra Dezvoltator tab>> selectați Visual Basic
Se va deschide o nouă fereastră de Microsoft Visual Basic pentru aplicații .
Acum, de la Introduceți >> selectați Modul
A Modul se va deschide acolo.
Apoi, scrieți următorul cod în fișierul Modul .
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 = False Application.ScreenUpdating = True End Sub
Aici, am creat o subprocedură numită Împărțiți foaieExcel_în_mai multe foi .
În cazul în care am declarat câteva variabile, acestea sunt WorkRng și xRow ca Gama tip atunci
SplitRow ca Număr întreg de asemenea, xWs ca Fișa de lucru tip.
De asemenea, folosit ExcelTitleId pentru a da caseta de dialog titlu.
Am furnizat numărul de rânduri divizate 4 pentru a împărți datele pe 4 rânduri, deoarece în setul meu de date Luna de Ianuarie are 4 rânduri.
În cele din urmă, a folosit un Pentru buclă la SplitRow până când se termină intervalul de celule dat.
Apoi, Salvați codul și reveniți la foaia de lucru.
Acum, deschideți fereastra Dezvoltator tab>> De la Introduceți >> selectați Buton
A caseta de dialog va apărea.
Pentru a aloca Macro în inserția Buton .
Selectați Împărțiți foaieExcel_în_foaie_Multiplă de la Denumire macro apoi faceți clic pe OK .
Trebuie doar să faceți clic pe Buton pentru a rula Macro .
Acum, un caseta de dialog va apărea o fereastră în care puteți pune datele gamă.
➤Aici, am selectat intervalul de celule B1:E12
Apoi, faceți clic pe OK .
Un alt caseta de dialog va apărea pentru a vă arăta numărul de rânduri selectate pe care l-ați furnizat deja în codul de divizare a setului de date.
➤ În cod, am furnizat 4 ca Număr rând divizat
Așa cum am în total 12 rânduri astfel încât cu 4 rânduri va fi 3 foi .
În Foaie1 , veți vedea datele din primele 4 rânduri.
În Foaie2 , veți vedea datele din rândurile 5-8.
În Foaie3 , veți vedea datele din ultimele 4 rânduri.
Citește mai mult: Excel VBA: Împărțiți foaia în mai multe foi pe baza rândurilor
Lecturi similare
- Cum să împărțiți ecranul în Excel (3 moduri)
- [Remediere:] Excel View Side by Side nu funcționează
- Cum să separați foile în Excel (6 moduri eficiente)
- Deschideți două fișiere Excel separat (5 metode simple)
- Cum să împărțiți foaia Excel în mai multe fișiere (3 metode rapide)
3. Împărțiți foaia Excel în mai multe registre de lucru pe baza coloanei
Înainte de a începe procedura, trebuie să vă amintiți că trebuie să începeți datele de la primul rând și prima coloană.
Acum, deschideți fereastra Dezvoltator tab>> selectați Visual Basic
Se va deschide o nouă fereastră de Microsoft Visual Basic pentru aplicații .
Acum, de la Introduceți >> selectați Modul
A Modul se va deschide acolo.
Apoi, scrieți următorul cod în fișierul Modul .
Sub SplitSheetIntoMultipleWorkbooksBasedOnColumn() 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.KeysFor 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).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 Next End Sub
Aici, am creat o subprocedură numită SplitSheetIntoMultipleWorkbooksBasedOnColumn , unde am declarat mai multe variabile.
Am folosit 3 PENTRU Bucle. 1. PENTRU bucla va număra rândurile de la rândul 2 până la ultimul rând cu valoare pentru a obține coloana specifică. Am dat instanța de "C" coloană.
Puteți să-l schimbați la cazul dumneavoastră
Al doilea Pentru bucla va crea un nou registru de lucru Excel.
Al treilea Fo r loop va copia datele cu aceeași coloană "C" în noul registru de lucru, de la al doilea rând până la ultimul rând cu valoare.
Apoi, Salvați codul și reveniți la foaia de lucru.
Acum, deschideți fereastra Vezi tab>> De la Macros >> selectați Vizualizați macrourile
A caseta de dialog va apărea.
Acum, de la Numele macroului selectați SplitSheetIntoMultipleWorkbooksBasedOnColumn selectați, de asemenea, registrul de lucru din Macros în .
În cele din urmă, Rulați selectat Macro .
În cele din urmă, veți vedea că au fost create 3 noi registre de lucru, deoarece există 3 registre de lucru diferite. Luni în coloană C . Carte1 pentru Ianuarie .
The Carte2 pentru Februarie .
The Carte3 pentru Martie .
Citește mai mult: Cum să împărțiți foaia Excel în mai multe foi pe baza valorii coloanei
Concluzie
În acest articol, am explicat 3 moduri de a împărți foaia Excel în mai multe foi de lucru. Puteți urma oricare dintre modalitățile explicate pentru a împărți foaia Excel în mai multe foi de lucru. În cazul în care aveți orice confuzie sau întrebare cu privire la aceste metode, puteți comenta mai jos.