Spis treści
Duży zbiór danych może zawierać wiele wartości opartych na tej samej kolumnie. Jeśli chcesz, możesz podzielić te same kategorie (Departament, Miesiąc, Region, Stany, itp.) wartości lub preferencje na różne arkusze lub skoroszyty. W tym artykule wyjaśnię, jak podzielić arkusz Excela na wiele arkuszy.
Aby to wyjaśnić, posłużę się przykładowym zbiorem danych. W zbiorze danych znajdują się 4 kolumny reprezentujące informacje o sprzedaży z różnych miesięcy. Kolumny te to Sprzedawca, Region, Miesiąc, oraz Sprzedaż .
Pobierz do ćwiczeń
Podziel arkusz Excel na wiele arkuszy.xlsmSposoby dzielenia arkusza Excel na wiele arkuszy
1) Używanie filtru i kopiowania
Z dowolnego arkusza można podzielić dane na wiele arkuszy, używając Filtr .
Najpierw wybierz zakres komórek, w którym chcesz zastosować Filtr .
➤Tutaj wybrałem zakres komórek B3:E15 .
Następnie należy otworzyć Dane tab>> wybierz Filtr .
Można również użyć CTRL + SHIFT + L stosować się Filtr korzystanie z klawiatury .
Teraz, Filtr jest stosowany do wybranego zakresu komórek.
Następnie należy kliknąć na Miesiąc kolumna, ponieważ chcę podzielić dane w zależności od Miesiąc wartości.
Stamtąd odznaczony wszystko oprócz Styczeń Na koniec kliknij OK .
Teraz wszystkie wartości, w których Miesiąc jest Styczeń są filtrowane.
Następnie, Kopia dane i Pasta do nowego arkusza.
Tutaj nazwałem nowy arkusz Styczeń. W ten sposób zobaczysz wszystkie informacje o sprzedaży dla Styczeń przedstawiono w tym miejscu.
Przez resztę Miesiące , można wykonać te same procedury.
Ponownie kliknij na Miesiąc kolumna, ponieważ chcę podzielić dane w zależności od Miesiąc wartości.
Stamtąd odznaczyć wszystko oprócz Luty Na koniec kliknij OK .
Teraz, wszystkie wartości dla Luty Miesiąc są filtrowane.
Następnie, Kopia dane i Pasta do nowego arkusza.
Później nazwałem nowy arkusz lutego. W ten sposób zobaczysz wszystkie informacje o sprzedaży dla Miesiąc z Luty przedstawiono w tym miejscu.
Ponownie kliknij na Miesiąc kolumna, ponieważ chcę podzielić dane w zależności od Miesiąc wartości.
Stamtąd odznaczyć wszystko oprócz Marzec Na koniec kliknij OK .
Teraz zobaczysz wszystkie wartości Marzec są filtrowane.
Następnie, Kopia dane i Pasta do nowego arkusza.
W końcu nazwałem nowy arkusz Marzec . W ten sposób zobaczysz wszystkie informacje o sprzedaży dla Marzec przedstawiono w tym miejscu.
Read More: Podziel arkusz Excela na wiele arkuszy na podstawie wierszy
2. dzielenie arkusza Excel na podstawie liczby wierszy za pomocą VBA
Przed rozpoczęciem procedury należy pamiętać, że dane należy rozpocząć od pierwszych rzędów.
Teraz otwórz Deweloper tab>> wybierz Visual Basic
Spowoduje to otwarcie nowego okna Microsoft Visual Basic for Applications .
Teraz, od Wkładka >> wybierz Moduł
A Moduł zostanie tam otwarty.
Następnie napisz następujący kod w Moduł .
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
Tutaj utworzyłem podprocedurę o nazwie SplitExcelSheet_into_MultipleSheets .
Gdzie zadeklarowałem kilka zmiennych są to WorkRng oraz xRow jako Zakres typ wtedy
SplitRow jako Integer również xWs jako Arkusz roboczy typu.
Ponadto, używane ExcelTitleId aby dać okno dialogowe tytuł.
Podałem numer wiersza dzielonego 4 aby podzielić dane na 4 wiersze, ponieważ w moim zestawie danych Miesiąc z Styczeń ma 4 rzędy.
Wreszcie, użył Dla pętla do SplitRow aż do zakończenia danego zakresu komórek.
Następnie, Zapisz kod i wróć do arkusza.
Teraz otwórz Deweloper tab>> Od Wkładka >> wybierz Przycisk
A okno dialogowe pojawi się.
Aby przypisać Makro włożony Przycisk .
Wybierz SplitExcelSheet_into_Multiplesheets od Nazwa makra następnie kliknąć OK .
Wystarczy kliknąć na Przycisk uruchomić Makro .
Teraz, a okno dialogowe pojawi się miejsce, gdzie można umieścić dane zakres.
➤Tutaj wybrałem zakres komórek B1:E12
Następnie należy kliknąć OK .
Kolejny okno dialogowe wyskoczy, aby pokazać wybraną liczbę wierszy, którą już podałeś w kodzie, aby podzielić zbiór danych.
➤ W kodzie podałem. 4 jako Podzielona liczba wierszy
Ponieważ w sumie 12 rzędy tak z 4 rzędy będzie 3 arkusze .
W Plansza1. , zobaczysz dane z pierwszych 4 wierszy.
W Plansza2 , zobaczysz dane z wierszy od 5 do 8.
W Plansza3 , zobaczysz dane z ostatnich 4 wierszy.
Read More: Excel VBA: Podziel arkusz na wiele arkuszy na podstawie wierszy
Podobne lektury
- Jak podzielić ekran w Excelu (3 sposoby)
- Nie działa widok Excela obok siebie [Fix:]
- Jak rozdzielić arkusze w Excelu (6 skutecznych sposobów)
- Otwórz dwa pliki Excela osobno (5 prostych metod)
- Jak podzielić arkusz programu Excel na wiele plików (3 szybkie metody)
3. podziel arkusz Excel na wiele skoroszytów na podstawie kolumny
Przed rozpoczęciem procedury należy pamiętać, że należy rozpocząć dane od pierwszego wiersza i pierwszej kolumny.
Teraz otwórz Deweloper tab>> wybierz Visual Basic
Spowoduje to otwarcie nowego okna Microsoft Visual Basic for Applications .
Teraz, od Wkładka >> wybierz Moduł
A Moduł zostanie tam otwarty.
Następnie napisz następujący kod w Moduł .
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 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
Tutaj utworzyłem podprocedurę o nazwie SplitSheetIntoMultipleWorkbooksBasedOnColumn , gdzie zadeklarowałem wiele zmiennych.
Użyłem 3 DLA pętle. 1. DLA pętla będzie zliczać wiersze od wiersza 2 do ostatniego wiersza z wartością, aby uzyskać określoną kolumnę. Podałem instancję klasy "C" kolumna.
Możesz go zmienić na swój przypadek
2. Dla pętla utworzy nowy skoroszyt programu Excel.
3. Fo pętla r skopiuje dane z tą samą kolumną "C" do nowego skoroszytu od drugiego do ostatniego wiersza z wartością.
Następnie, Zapisz kod i wróć do arkusza.
Teraz otwórz Zobacz tab>> Od Makra >> wybierz Wyświetlanie makr
A okno dialogowe pojawi się.
Teraz, z Nazwa makra wybrać SplitSheetIntoMultipleWorkbooksBasedOnColumn wybrać również skoroszyt w ramach Makra w .
Wreszcie, Uruchom wybrany Makro .
Na koniec zobaczysz, że zostały utworzone 3 nowe skoroszyty, ponieważ istnieją 3 różne Miesiące w kolumnie C . Księga1 dla Styczeń .
Na stronie Księga2 dla Luty .
Na stronie Księga3 dla Marzec .
Read More: Jak podzielić arkusz Excela na wiele arkuszy na podstawie wartości kolumny
Wniosek
W tym artykule, wyjaśniłem 3 sposoby, jak podzielić arkusz Excel na wiele arkuszy. Możesz śledzić każdy z wyjaśnionych sposobów, aby podzielić swój arkusz Excel na wiele arkuszy. W przypadku, gdy masz jakieś zamieszanie lub pytanie dotyczące tych metod, możesz skomentować poniżej.