Kaip padalyti "Excel" lapą į kelis darbalapius (3 metodai) -

  • Pasidalinti
Hugh West

Dideliame duomenų rinkinyje gali būti kelios vertės, pagrįstos tuo pačiu stulpeliu. Jei norite, galite padalyti tų pačių kategorijų (Departamentas, Mėnuo, Regionas, Valstybės ir t. t.) vertes arba savo pageidavimus į skirtingus darbalapius ar sąsiuvinius. Šiame straipsnyje ketinu paaiškinti, kaip padalyti "Excel" lapą į kelis darbalapius.

Kad šis paaiškinimas jums būtų aiškesnis, naudosiu pavyzdinį duomenų rinkinį. Duomenų rinkinyje yra 4 stulpeliai, kuriuose pateikiama skirtingų mėnesių pardavimo informacija. Šie stulpeliai yra Pardavėjas, regionas, mėnuo, ir Pardavimai .

Atsisiųsti į praktiką

"Excel" lapo padalijimas į kelis darbalapius.xlsm

Būdai padalyti "Excel" lapą į kelis darbalapius

1. Naudojant filtrą ir kopiją

Bet kuriame lape duomenis galite suskirstyti į kelis lapus naudodami Filtras .

Pirmiausia pasirinkite ląstelių intervalą, kuriame norite taikyti Filtras .

➤ čia pasirinkau ląstelių intervalą B3:E15 .

Tada atidarykite Duomenys skirtukas>> pasirinkite Filtras .

Taip pat galite naudoti CTRL + SHIFT + L taikyti Filtras naudojant klaviatūrą .

Dabar, Filtras taikomas pasirinktam ląstelių diapazonui.

Tada spustelėkite Mėnuo stulpelyje, nes noriu suskirstyti duomenis priklausomai nuo Mėnuo vertės.

Iš ten aš atšauktas viskas, išskyrus Sausis . Galiausiai spustelėkite GERAI .

Dabar visos reikšmės, kuriose Mėnuo yra . Sausis filtruojami.

Tada, Kopijuoti duomenis ir Pasta į naują darbalapį.

Čia naująjį lapą pavadinau Sausio mėn. Taigi matysite visą pardavimo informaciją apie Sausis pateikiama čia.

Likusi dalis Mėnesiai , galite atlikti tas pačias procedūras.

Vėl spustelėkite Mėnuo stulpelyje, nes noriu suskirstyti duomenis priklausomai nuo Mėnuo vertės.

Iš ten panaikinkite pasirinkimą. viskas, išskyrus Vasaris . Galiausiai spustelėkite GERAI .

Dabar visos reikšmės Vasaris Mėnuo filtruojami.

Tada, Kopijuoti duomenis ir Pasta į naują darbalapį.

Vėliau naująjį lapą pavadinau Vasario mėn. Taigi matysite visą pardavimo informaciją apie Mėnuo Vasaris pateikiama čia.

Vėl spustelėkite Mėnuo stulpelyje, nes noriu suskirstyti duomenis priklausomai nuo Mėnuo vertės.

Iš ten panaikinkite pasirinkimą. viskas, išskyrus Kovas . Galiausiai spustelėkite GERAI .

Dabar matysite visas reikšmes Kovas filtruojami.

Tada, Kopijuoti duomenis ir Pasta į naują darbalapį.

Galiausiai naująjį lapą pavadinau Kovas . Taigi, matysite visą pardavimo informaciją apie Kovas pateikiama čia.

Skaityti daugiau: "Excel" lapo padalijimas į kelis lapus pagal eilutes

2. "Excel" lapo padalijimas pagal eilučių skaičių naudojant VBA

Prieš pradėdami procedūrą turite prisiminti, kad duomenis turite pradėti nuo pirmųjų eilučių.

Dabar atidarykite Kūrėjas skirtukas>> pasirinkite "Visual Basic

Bus atidarytas naujas langas "Microsoft Visual Basic for Applications .

Dabar iš Įdėkite >> pasirinkti Modulis

A Modulis bus atidaryta.

Tada įrašykite šį kodą į Modulis .

 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 

Čia sukūriau paprocedūrą, pavadintą SplitExcelSheet_into_MultipleSheets .

Kur aš deklaravau kelis kintamuosius, tai yra WorkRng ir xRow kaip Diapazonas tipas tada

SplitRow kaip Sveikasis skaičius taip pat xWs kaip Darbalapis tipas.

Be to, naudotas ExcelTitleId suteikti dialogo langas pavadinimas.

Pateikiau padalytos eilutės numerį 4 padalyti duomenis į 4 eilutes, nes mano duomenų rinkinyje Mėnuo Sausis turi 4 eilutes.

Galiausiai, naudokite Tinklalapiui kilpa į SplitRow kol baigsis nurodytas ląstelių intervalas.

Tada, Išsaugoti kodą ir grįžkite į darbalapį.

Dabar atidarykite Kūrėjas skirtukas>> Nuo Įdėkite >> pasirinkti Mygtukas

A dialogo langas pasirodys.

Norėdami priskirti Makro į įterptą Mygtukas .

Pasirinkite SplitExcelSheet_into_Multiplesheets Makro pavadinimas tada spustelėkite GERAI .

Tiesiog spustelėkite Mygtukas paleisti Makro .

Dabar, a dialogo langas pasirodys langas, kuriame galėsite įrašyti duomenis diapazonas.

➤ čia pasirinkau ląstelių intervalą B1:E12

Tada spustelėkite GERAI .

Kitas dialogo langas bus rodomas pasirinktų eilučių skaičius, kurį jau nurodėte duomenų rinkinio skaidymo kode.

➤ Kodo dalyje pateikiau 4 kaip Padalyti eilutės numerį

Kaip aš iš viso 12 eilučių, todėl su 4 eilutės bus 3 lapai .

Svetainėje 1 lapas pamatysite pirmųjų 4 eilučių duomenis.

Svetainėje Lapas2 , pamatysite 5-8 eilučių duomenis.

Svetainėje Lapas3 , pamatysite paskutinių 4 eilučių duomenis.

Skaityti daugiau: "Excel VBA": padalykite lapą į kelis lapus pagal eilutes

Panašūs skaitiniai

  • Kaip padalyti ekraną "Excel" programoje (3 būdai)
  • [Pataisa:] "Excel" vaizdas "Side by Side" neveikia
  • Kaip atskirti "Excel" lapus (6 veiksmingi būdai)
  • Atverkite du "Excel" failus atskirai (5 paprasti metodai)
  • Kaip padalyti "Excel" lapą į kelis failus (3 greiti metodai)

3. Padalykite "Excel" lapą į kelis sąsiuvinius pagal stulpelius

Prieš pradėdami procedūrą, turite prisiminti, kad duomenis turite pradėti nuo pirmosios eilutės ir pirmojo stulpelio.

Dabar atidarykite Kūrėjas skirtukas>> pasirinkite "Visual Basic

Bus atidarytas naujas langas "Microsoft Visual Basic for Applications .

Dabar iš Įdėkite >> pasirinkti Modulis

A Modulis bus atidaryta.

Tada įrašykite šį kodą į Modulis .

 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 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) = 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 End Sub 

Čia sukūriau paprocedūrą, pavadintą SplitSheetIntoMultipleWorkbooksBasedOnColumn , kuriame deklaravau kelis kintamuosius.

Naudojau 3 FOR kilpos. 1. FOR ciklas skaičiuos eilutes nuo 2 eilutės iki paskutinės eilutės su verte, kad gautų konkretų stulpelį. "C" skiltis.

Galite jį pakeisti pagal savo atvejį

2. Tinklalapiui ciklas sukurs naują "Excel" darbaknygę.

3. Fo r ciklas nukopijuos to paties stulpelio duomenis "C" vertę į naują sąsiuvinį nuo 2-osios eilutės iki paskutinės eilutės su verte.

Tada, Išsaugoti kodą ir grįžkite į darbalapį.

Dabar atidarykite Peržiūrėti skirtukas>> Nuo Makrokomandos >> pasirinkti Peržiūrėti makrokomandas

A dialogo langas pasirodys.

Dabar iš Makro pavadinimas pasirinkite SplitSheetIntoMultipleWorkbooksBasedOnColumn taip pat pasirinkite darbo knygą, esančią Makrokomandos .

Galiausiai, Paleisti pasirinktas Makro .

Galiausiai pamatysite, kad buvo sukurti 3 nauji sąsiuviniai, nes yra 3 skirtingi Mėnesiai stulpelyje C . 1 knyga svetainėje Sausis .

Svetainė 2 knyga Vasaris .

Svetainė 3 knyga svetainėje Kovas .

Skaityti daugiau: Kaip padalyti "Excel" lapą į kelis lapus pagal stulpelio vertę

Išvada

Šiame straipsnyje paaiškinau 3 būdus, kaip padalyti "Excel" lapą į kelis darbalapius. Galite vadovautis bet kuriuo iš paaiškintų būdų, kaip padalyti "Excel" lapą į kelis darbalapius. Jei turite kokių nors neaiškumų ar klausimų, susijusių su šiais metodais, galite komentuoti toliau.

Hugh Westas yra labai patyręs Excel treneris ir analitikas, turintis daugiau nei 10 metų patirtį šioje srityje. Jis yra įgijęs apskaitos ir finansų bakalauro bei verslo administravimo magistro laipsnius. Hugh turi aistrą mokymui ir sukūrė unikalų mokymo metodą, kurį lengva sekti ir suprasti. Jo ekspertinės žinios apie „Excel“ padėjo tūkstančiams studentų ir specialistų visame pasaulyje tobulinti savo įgūdžius ir tobulėti savo karjeroje. Savo tinklaraštyje Hugh dalijasi savo žiniomis su pasauliu, siūlydamas nemokamus „Excel“ vadovėlius ir internetinius mokymus, kad padėtų asmenims ir įmonėms išnaudoti visą savo potencialą.