Tartalomjegyzék
Egy nagy adatkészlet több értéket tartalmazhat ugyanazon oszlop alapján. Ha szeretné, akkor az azonos kategóriák (osztály, hónap, régió, állam stb.) értékeit vagy a preferenciáit különböző munkalapokra vagy munkafüzetekre oszthatja. Ebben a cikkben elmagyarázom, hogyan lehet az Excel-táblázatot több munkalapra osztani.
Hogy a magyarázatot érthetőbbé tegyem, egy mintaadatkészletet fogok használni. Az adatkészletben 4 oszlop van, amelyek a különböző hónapok értékesítési adatait képviselik. Ezek az oszlopok a következők Értékesítési munkatárs, régió, hónap, és Értékesítés .
Letöltés a gyakorlatba
Excel Sheet több munkalapra osztása.xlsmAz Excel Sheet több munkalapra történő felosztásának módjai
1. Szűrés és másolás használata
Bármelyik lapról több lapra oszthatja az adatokat a következővel Szűrő .
Először is jelölje ki azt a cellatartományt, amelyre a Szűrő .
➤Itt kiválasztottam a cellatartományt B3:E15 .
Ezután nyissa meg a Adatok tab>> select Szűrő .
Használhatja a CTRL + SHIFT + L alkalmazni Szűrő a billentyűzet használatával .
Most, Szűrő a kiválasztott cellatartományra vonatkozik.
Ezután kattintson a Hónap oszlopot, mivel az adatokat a következőktől függően akarom felosztani Hónap értékek.
Onnan én deselected mindent, kivéve Január . Végül kattintson OK .
Most az összes olyan értéket, ahol a Hónap a Január szűrésre kerülnek.
Akkor, Másolás az adatok és Paste az új munkalapba.
Itt elneveztem az új lapot Január. Így az összes értékesítési információt láthatja a Január itt kerül bemutatásra.
A többi Hónapok , ugyanezeket az eljárásokat követheti.
Kattintson ismét a Hónap oszlopot, mivel az adatokat a következőktől függően akarom felosztani Hónap értékek.
Onnan törölje a kijelölését. mindent, kivéve Február . Végül kattintson OK .
Most az összes értéket a Február Hónap kiszűrésre kerülnek.
Akkor, Másolás az adatok és Paste az új munkalapba.
Később elneveztem az új lapot Február. Így az összes értékesítési információt láthatja a Hónap a Február itt kerül bemutatásra.
Kattintson ismét a Hónap oszlopot, mivel az adatokat a következőktől függően akarom felosztani Hónap értékek.
Onnan törölje a kijelölését. mindent, kivéve Március . Végül kattintson OK .
Most az összes értéket látni fogja a Március kiszűrésre kerülnek.
Akkor, Másolás az adatok és Paste az új munkalapba.
Végül az új lapot elneveztem Március Így az összes értékesítési információt láthatja a következőkhöz kapcsolódóan Március itt kerül bemutatásra.
Bővebben: Az Excel Sheet több lapra osztása a sorok alapján
2. Az Excel lap felosztása a sorszám alapján a VBA használatával
Mielőtt elkezdené az eljárást, ne feledje, hogy az adatokat az első sorokból kell kiindulnia.
Most nyissa meg a Fejlesztő tab>> select Visual Basic
Ez megnyit egy új ablakot a Microsoft Visual Basic for Applications .
Most, a Beillesztés >> select Modul
A Modul ott fog megnyílni.
Ezután írja a következő kódot a 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.Parent.Set 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
Itt létrehoztam egy alprocedúrát, melynek neve SplitExcelSheet_into_MultipleSheets (Több lapra osztva) .
Ahol bejelentettem néhány változót ezek a következők WorkRng és xRow mint Tartomány típus akkor
SplitRow mint Egész szám is xWs mint Munkalap típus.
Továbbá, használt ExcelTitleId hogy megadja a párbeszédpanel cím.
Megadtam az osztott sorszámot 4 hogy az adatokat 4 sorral osszam fel, mert az adatállományomban a Hónap a Január 4 sorból áll.
Végül, használt egy A oldalon. hurok a SplitRow amíg az adott cellatartomány véget nem ér.
Akkor, Mentés a kódot, és térjen vissza a munkalapra.
Most nyissa meg a Fejlesztő tab>> From Beillesztés >> select Gomb
A párbeszédpanel fog felbukkanni.
A Makró a beillesztett Gomb .
Válassza ki a címet. SplitExcelSheet_into_Multiplesheets (több lapra osztva) a Makró neve majd kattintson a OK .
Csak kattintson a Gomb hogy futtassa a Makró .
Most egy párbeszédpanel fog felugrani, ahová az adatokat be lehet tenni tartományban.
➤Itt kiválasztottam a cellatartományt B1:E12
Ezután kattintson a OK .
Egy másik párbeszédpanel felugrik, hogy megmutassa a kiválasztott sorok számát, amelyet már megadott az adathalmaz felosztásához szükséges kódban.
➤ A kódban, én adtam meg 4 mint Osztott sorszám
Mivel én összesen 12 sorok így a 4 sor lesz 3 lap .
A oldalon. Sheet1 , akkor az első 4 sor adatait látja.
A oldalon. Sheet2 , akkor az 5-8. sorok adatait fogja látni.
A oldalon. Sheet3 , akkor az utolsó 4 sor adatait fogja látni.
Bővebben: Excel VBA: Lap felosztása több lapra a sorok alapján
Hasonló olvasmányok
- Hogyan lehet megosztani a képernyőt az Excelben (3 mód)
- [Javítás:] Az Excel nézet oldalanként nem működik
- Hogyan válasszuk el a lapokat az Excelben (6 hatékony módszer)
- Két Excel fájl külön-külön megnyitása (5 egyszerű módszer)
- Hogyan ossza az Excel Sheet-et több fájlra (3 gyors módszer)
3. Az Excel Sheet több munkafüzetre osztása oszlopok alapján
Az eljárás megkezdése előtt ne feledje, hogy az adatokat az első sorból és az első oszlopból kell kiindulnia.
Most nyissa meg a Fejlesztő tab>> select Visual Basic
Ez megnyit egy új ablakot a Microsoft Visual Basic for Applications .
Most, a Beillesztés >> select Modul
A Modul ott fog megnyílni.
Ezután írja a következő kódot a 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) = 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
Itt létrehoztam egy alprocedúrát, melynek neve SplitSheetIntoMultipleWorkbooksBasedOnColumn , ahol több változót deklaráltam.
Én 3 FOR hurkok. Az 1. FOR ciklus megszámolja a sorokat a 2. sortól az utolsó sorig az értékkel, hogy megkapja az adott oszlopot. Megadtam a példányt a "C" oszlop.
Megváltoztathatja az Ön esetére
A 2. A oldalon. ciklus létrehoz egy új Excel munkafüzetet.
A 3. Fo r ciklus másolja az adatokat ugyanazzal az oszloppal "C" értéket az új munkafüzetbe a 2. sorból az utolsó sorig.
Akkor, Mentés a kódot, és térjen vissza a munkalapra.
Most nyissa meg a A megtekintése tab>> From Makrók >> select Makrók megtekintése
A párbeszédpanel fog felbukkanni.
Most, a Makró neve válassza ki a SplitSheetIntoMultipleWorkbooksBasedOnColumn válassza ki a munkafüzetet is a Makrók a .
Végre, Fuss a kiválasztott Makró .
Végül látni fogja, hogy 3 új munkafüzetet hoztunk létre, mivel 3 különböző Hónapok oszlopban C . Book1 a oldalon. Január .
A Book2 a Február .
A Book3 a oldalon. Március .
Bővebben: Hogyan lehet az Excel Sheet-et több lapra osztani az oszlopérték alapján
Következtetés
Ebben a cikkben elmagyaráztam 3 módszert, hogyan lehet az Excel-táblázatot több munkalapra osztani. Követheti a magyarázott módszerek bármelyikét, hogy az Excel-táblát több munkalapra ossza. Ha bármilyen zavara vagy kérdése van ezekkel a módszerekkel kapcsolatban, akkor alább megjegyzést tehet.