Jak podzielić dużą tabelę na wiele małych tabel w programie Excel?
Jeśli masz duży arkusz roboczy zawierający wiele kolumn i setki lub tysiące wierszy danych, teraz chcesz podzielić tę dużą tabelę na wiele małych tabel na podstawie wartości kolumny lub liczby wierszy, aby uzyskać następujące wyniki. Jak poradzisz sobie z tym zadaniem w programie Excel?
Główny stół | Podziel tabelę na wiele tabel według wartości kolumny | Podziel tabelę na wiele tabel według liczby wierszy | |
Podziel dużą tabelę na wiele tabel na podstawie wartości kolumny z kodem VBA
Podziel dużą tabelę na wiele tabel na podstawie określonej liczby wierszy z kodem VBA
Podziel dużą tabelę na wiele tabel na podstawie wartości kolumny z kodem VBA
Aby podzielić tę dużą tabelę na wiele tabel na podstawie określonej wartości kolumny, poniższy kod VBA może wyświadczyć ci przysługę. Zrób tak:
1. Przytrzymaj ALT + F11 klawisze, aby otworzyć Microsoft Visual Basic for Applications okno.
2. Kliknij wstawka > Modułi wklej następujący kod w Moduł Okno.
Kod VBA: Podziel dużą tabelę na wiele tabel według kolumny klucza:
Sub Splitdatabycol()
'by Extendoffice
Dim lr As Long
Dim ws As Worksheet
Dim vcol, i As Integer
Dim icol As Long
Dim myarr As Variant
Dim title As String
Dim titlerow As Integer
Dim xTRg As Range
Dim xVRg As Range
Dim xWSTRg As Worksheet
On Error Resume Next
Set xTRg = Application.InputBox("Please select the header rows:", "Kutools for Excel", "", Type:=8)
If TypeName(xTRg) = "Nothing" Then Exit Sub
Set xVRg = Application.InputBox("Please select the column you want to split data based on:", "Kutools for Excel", "", Type:=8)
If TypeName(xVRg) = "Nothing" Then Exit Sub
vcol = xVRg.Column
Set ws = xTRg.Worksheet
lr = ws.Cells(ws.Rows.Count, vcol).End(xlUp).Row
title = xTRg.AddressLocal
titlerow = xTRg.Cells(1).Row
icol = ws.Columns.Count
ws.Cells(1, icol) = "Unique"
Application.DisplayAlerts = False
If Not Evaluate("=ISREF('xTRgWs_Sheet!A1')") Then
Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = "xTRgWs_Sheet"
Else
Sheets("xTRgWs_Sheet").Delete
Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = "xTRgWs_Sheet"
End If
Set xWSTRg = Sheets("xTRgWs_Sheet")
xTRg.Copy
xWSTRg.Paste Destination:=xWSTRg.Range("A1")
ws.Activate
For i = (titlerow + xTRg.Rows.Count) To lr
On Error Resume Next
If ws.Cells(i, vcol) <> "" And Application.WorksheetFunction.Match(ws.Cells(i, vcol), ws.Columns(icol), 0) = 0 Then
ws.Cells(ws.Rows.Count, icol).End(xlUp).Offset(1) = ws.Cells(i, vcol)
End If
Next
myarr = Application.WorksheetFunction.Transpose(ws.Columns(icol).SpecialCells(xlCellTypeConstants))
ws.Columns(icol).Clear
For i = 2 To UBound(myarr)
ws.Range(title).AutoFilter field:=vcol, Criteria1:=myarr(i) & ""
If Not Evaluate("=ISREF('" & myarr(i) & "'!A1)") Then
Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = myarr(i) & ""
Else
Sheets(myarr(i) & "").Move after:=Worksheets(Worksheets.Count)
End If
xWSTRg.Range(title).Copy
Sheets(myarr(i) & "").Paste Destination:=Sheets(myarr(i) & "").Range("A1")
ws.Range("A" & (titlerow + xTRg.Rows.Count) & ":A" & lr).EntireRow.Copy Sheets(myarr(i) & "").Range("A" & (titlerow + xTRg.Rows.Count))
Sheets(myarr(i) & "").Columns.AutoFit
Next
xWSTRg.Delete
ws.AutoFilterMode = False
ws.Activate
Application.DisplayAlerts = True
End Sub
3. Po wklejeniu kodu naciśnij F5 klucz do uruchomienia tego kodu i pojawi się okno zachęty, wybierz wiersz nagłówka z danych, zobacz zrzut ekranu:
4. Następnie kliknij OKi pojawi się kolejne okno dialogowe, wybierz dane kolumny, na podstawie których chcesz podzielić tabelę, patrz zrzut ekranu:
5. Kliknij OK, ta duża tabela została podzielona na wiele arkuszy według wartości kolumny, które znajdują się za arkuszem głównym. A nowe arkusze są nazwane z wartością kolumny. Zobacz zrzut ekranu:
Podziel dużą tabelę na wiele tabel na podstawie określonej liczby wierszy z kodem VBA
Jeśli chcesz podzielić tabelę na wiele tabel na podstawie liczby wierszy, może Ci pomóc poniższy kod VBA.
1. Przytrzymaj ALT + F11 klawisze, aby otworzyć Microsoft Visual Basic for Applications okno.
2. Kliknij wstawka > Modułi wklej następujący kod w Moduł Okno.
Kod VBA: Podziel dużą tabelę na wiele tabel według liczby wierszy:
Sub Splitdatabyrows()
'Updated by Extendoffice
Dim WorkRng As Range
Dim xRow As Range
Dim SplitRow As Integer
Dim xWs As Worksheet
Dim xTRg As Range
Dim xNTRg As Range
Dim xIER
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set xTRg = Application.InputBox("Please select the header row:", xTitleId, "", Type:=8)
If TypeName(xTRg) = "Nothing" Then Exit Sub
Set WorkRng = Application.InputBox("Please select the data range(exclude the header row):", xTitleId, WorkRng.Address, Type:=8)
If TypeName(WorkRng) = "Nothing" Then Exit Sub
SplitRow = Application.InputBox("Split Row Num", xTitleId, Type:=1)
If SplitRow = 0 Then Exit Sub
Set xWs = WorkRng.Parent
Set xRow = WorkRng.Rows(1)
xIER = WorkRng.Rows.Count
xIER = WorkRng.Row + xIER - 1
Application.ScreenUpdating = False
For i = 1 To WorkRng.Rows.Count Step SplitRow
resizeCount = SplitRow
If (xIER - xRow.Row + 1) < SplitRow Then
resizeCount = (xIER - xRow.Row + 1)
End If
xRow.Resize(resizeCount).Copy
Set xWs = Application.Worksheets.Add(after:=Application.Worksheets(Application.Worksheets.Count))
If xIER > (xRow.Row + SplitRow - 1) Then
xWs.Name = xRow.Row & " - " & (xRow.Row + SplitRow - 1)
ElseIf xIER = xRow.Row Then
xWs.Name = xRow.Row
Else
xWs.Name = xRow.Row & " - " & xIER
End If
Application.ActiveSheet.Range("A1").PasteSpecial
Set xNTRg = Application.ActiveSheet.Range("A1")
xTRg.Copy
xNTRg.Insert
Set xRow = xRow.Offset(SplitRow)
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
3. Następnie naciśnij F5 klucz, w wyskakującym oknie dialogowym wybierz wiersz nagłówka, zobacz zrzut ekranu:
4. Następnie kliknij OK, aw drugim polu zachęty wybierz zakres danych, który chcesz podzielić według liczby wierszy, patrz zrzut ekranu:
5. A potem klikaj dalej OK przycisk, w trzecim polu zachęty wprowadź liczbę wierszy, według których chcesz podzielić, patrz zrzut ekranu:
6. Następnie kliknij OK przycisk, tabela główna została podzielona na wiele arkuszy roboczych na podstawie liczby wierszy, jak pokazano na poniższym zrzucie ekranu:
Podziel dużą tabelę na wiele tabel na podstawie wartości kolumny lub liczby wierszy z niesamowitą funkcją
Być może powyższe kody są trudne dla większości użytkowników, tutaj przedstawię niesamowitą funkcję-Podziel dane of Kutools dla programu Excel. Za pomocą tego narzędzia można szybko i łatwo podzielić dużą tabelę na wiele tabel według kolumny klucza lub liczby wierszy.
Porady:Aby to zastosować Podziel dane Po pierwsze, należy pobrać plik Kutools dla programu Excel, a następnie szybko i łatwo zastosuj tę funkcję.
Po zainstalowaniu Kutools dla programu Excel, zrób tak:
1. Wybierz zakres danych, który chcesz podzielić, a następnie kliknij Kutools Plus > Podziel danezobacz zrzut ekranu:
2, w Podziel dane na wiele arkuszy roboczych W oknie dialogowym określ ustawienia według swoich potrzeb:
(1.) Wybierz Konkretna kolumna or Naprawiono rzędy z Podziel na podstawie sekcja według potrzeb;
(2.) Określ nową nazwę arkusza roboczego z pliku Zasady rozwijanej listy, możesz dodać Prefiks or Przyrostek do nazw arkuszy.
3. Następnie kliknij Ok przycisk, a teraz duża tabela została podzielona na wiele małych tabel w nowym skoroszycie. Zobacz zrzuty ekranu:
Podziel tabelę na wiele tabel według wartości kolumny | Podziel tabelę na wiele tabel według liczby wierszy |
Kliknij, aby pobrać Kutools dla programu Excel i bezpłatną wersję próbną teraz!
Więcej artykułów względnych:
- Podziel skoroszyt, aby oddzielić pliki programu Excel w programie Excel
- Może być konieczne podzielenie dużego skoroszytu, aby oddzielić pliki programu Excel, zapisując każdy arkusz skoroszytu jako oddzielny plik programu Excel. Na przykład możesz podzielić skoroszyt na wiele oddzielnych plików programu Excel, a następnie dostarczyć każdy plik innej osobie, która go obsłuży. W ten sposób możesz skłonić określone osoby do obsługi określonych danych i zapewnić bezpieczeństwo danych. W tym artykule przedstawimy sposoby dzielenia dużego skoroszytu w celu oddzielenia plików programu Excel na podstawie każdego arkusza.
- Podziel pełne imię i nazwisko na imię i nazwisko w programie Excel
- Przypuśćmy, że masz listę nazwisk, jak pierwszy zrzut ekranu pokazuje w jednej kolumnie poniżej, i musisz podzielić pełne imię i nazwisko na kolumnę z pierwszym imieniem, kolumną z drugim imieniem i kolumną z nazwiskiem, jak pokazano na poniższym zrzucie ekranu. Oto kilka trudnych metod, które pomogą Ci rozwiązać ten problem.
- Podziel długą kolumnę na wiele kolumn w programie Excel
- Jeśli masz długie kolumny danych w Excelu, które będą kłopotliwe podczas ich przeglądania. Ale teraz, jeśli możesz podzielić tak długą listę na wiele kolumn w Excelu, ułatwi to przeglądanie.
- Podziel słowo lub liczbę na oddzielne komórki w programie Excel
- Jeśli masz listę liczb lub słów w arkuszu, a teraz musisz podzielić zawartość komórki na litery w różnych komórkach, jak pokazano na poniższym zrzucie ekranu, jak możesz sobie poradzić z tym zadaniem w programie Excel?
- Podziel długą listę na równe grupy w programie Excel
- Jeśli masz długą listę danych, które należy podzielić na wiele równych grup, jak pokazano na poniższym zrzucie ekranu, jak możesz szybko i łatwo poradzić sobie z tym zadaniem w programie Excel?
Najlepsze narzędzia biurowe
Kutools dla programu Excel rozwiązuje większość problemów i zwiększa produktywność o 80%
- Pasek Super Formula (łatwo edytować wiele wierszy tekstu i formuły); Układ do czytania (łatwe odczytywanie i edytowanie dużej liczby komórek); Wklej do filtrowanego zakresu...
- Scal komórki / wiersze / kolumny i przechowywanie danych; Podziel zawartość komórek; Połącz zduplikowane wiersze i sumę / średnią... Zapobiegaj zduplikowanym komórkom; Porównaj zakresy...
- Wybierz Duplikat lub Unikalny Wydziwianie; Wybierz puste wiersze (wszystkie komórki są puste); Super Find i Fuzzy Find w wielu zeszytach ćwiczeń; Losowy wybór ...
- Dokładna kopia Wiele komórek bez zmiany odwołania do formuły; Automatyczne tworzenie odniesień do wielu arkuszy; Wstaw punktory, Pola wyboru i nie tylko ...
- Ulubione i szybkie wstawianie formuł, Zakresy, wykresy i obrazy; Szyfruj komórki z hasłem; Utwórz listę mailingową i wysyłaj e-maile ...
- Wyodrębnij tekst, Dodaj tekst, Usuń według pozycji, Usuń przestrzeń; Tworzenie i drukowanie podsumowań stronicowania; Konwertuj zawartość komórek i komentarze...
- Super filtr (zapisz i zastosuj schematy filtrów do innych arkuszy); Zaawansowane sortowanie według miesiąca / tygodnia / dnia, częstotliwości i innych; Specjalny filtr pogrubieniem, kursywą ...
- Połącz skoroszyty i arkusze robocze; Scal tabele na podstawie kluczowych kolumn; Podziel dane na wiele arkuszy; Konwersja wsadowa xls, xlsx i PDF...
- Grupowanie tabel przestawnych według numer tygodnia, dzień tygodnia i więcej ... Pokaż odblokowane, zablokowane komórki w różnych kolorach; Podświetl komórki, które mają formułę / nazwę...
- Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
- Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
- Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!