Turinys
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.xlsmBū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 iš 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 iš 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 iš 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 už 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.