Jak podzielić dane na wiele arkuszy roboczych na podstawie kolumny w programie Excel?
Przypuśćmy, że masz arkusz z ogromnymi wierszami danych, a teraz musisz podzielić dane na wiele arkuszy na podstawie Imię lub Nazwa Firmy kolumna (patrz poniższy zrzut ekranu), a nazwy są wprowadzane losowo. Może najpierw możesz je posortować, a następnie skopiować i wkleić jeden po drugim do innych nowych arkuszy. Jednak wielokrotne kopiowanie i wklejanie będzie wymagało cierpliwości. Dzisiaj opowiem o kilku szybkich sztuczkach, aby rozwiązać to zadanie.
Podziel dane na wiele arkuszy roboczych na podstawie kolumny z kodem VBA
Podziel dane na wiele arkuszy roboczych na podstawie kolumny z Kutools for Excel
Podziel dane na wiele arkuszy roboczych na podstawie kolumny z kodem VBA
Jeśli chcesz szybko i automatycznie podzielić dane na podstawie wartości kolumny, poniższy kod VBA jest dobrym wyborem. 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 oknie modułu.
Sub Splitdatabycol()
'updateby 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
Dim xWS 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
Set xWS = Sheets.Add(after:=Worksheets(Worksheets.Count))
xWS.Name = myarr(i) & ""
Else
xWS.Move after:=Worksheets(Worksheets.Count)
End If
xWSTRg.Range(title).Copy
xWS.Paste Destination:=xWS.Range("A1")
ws.Range("A" & (titlerow + xTRg.Rows.Count) & ":A" & lr).EntireRow.Copy xWS.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. Następnie naciśnij F5 klucz do uruchomienia kodu i pojawia się okienko zachęty przypominające o wybraniu wiersza nagłówka, patrz zrzut ekranu:
4. A następnie kliknij OK przycisk, aw drugim polu zachęty wybierz dane kolumny, na podstawie których chcesz podzielić, patrz zrzut ekranu:
5. Następnie kliknij OK, a wszystkie dane w aktywnym arkuszu są podzielone na wiele arkuszy według wartości kolumny. A podzielone arkusze są nazywane z nazwami podzielonych komórek. Zobacz zrzut ekranu:
Uwagi: Podzielone arkusze są umieszczane na końcu skoroszytu, w którym znajduje się główny arkusz roboczy.
Podziel dane na wiele arkuszy roboczych na podstawie kolumny z Kutools for Excel
Jako początkujący w Excelu ten długi kod VBA jest dla nas nieco trudny, a większość z nas nawet nie wie, jak zmodyfikować kod zgodnie z naszymi potrzebami. Tutaj przedstawię Ci wielofunkcyjne narzędzie -Kutools dla programu Excel, jego Podziel dane Narzędzie nie tylko może pomóc w podzieleniu danych na wiele arkuszy roboczych na podstawie kolumny, ale także może podzielić dane według liczby wierszy.
Uwaga: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óre chcesz podzielić.
2, Kliknij Kutools Plus > Ćwiczenie > Podziel danezobacz zrzut ekranu:
3, w Podziel dane na wiele arkuszy roboczych w oknie dialogowym, musisz:
1). Wybierz Konkretna kolumna opcja w Podziel na podstawie i wybierz wartość kolumny, na podstawie której chcesz podzielić dane, z listy rozwijanej. (Jeśli Twoje dane mają nagłówki i chcesz je wstawiać do każdego nowego podzielonego arkusza, zaznacz Moje dane mają nagłówki opcja.)
2). Następnie możesz określić nazwy podzielonych arkuszy roboczych w obszarze Nowa nazwa arkusza sekcji, określ reguły nazw arkuszy z Zasady rozwijanej listy, możesz dodać Prefiks or Przyrostek również dla nazw arkuszy.
3). Kliknij OK przycisk. Zobacz zrzut ekranu:
4. Teraz dane są podzielone na wiele arkuszy w nowym skoroszycie.
Kliknij, aby pobrać Kutools dla programu Excel i bezpłatną wersję próbną teraz!
Podziel dane na wiele arkuszy roboczych na podstawie kolumny z Kutools for Excel
Kutools dla programu Excel zawiera ponad 300 przydatnych narzędzi programu Excel. Bezpłatne wypróbowanie bez ograniczeń w ciągu 30 dni. Pobierz bezpłatną wersję próbną już teraz!
Podobne artykuły:
Jak podzielić dane na wiele arkuszy według liczby wierszy?
Najlepsze narzędzia biurowe
Kutools dla programu Excel rozwiązuje większość problemów i zwiększa produktywność o 80%
- Ponowne użycie: Szybko włóż złożone wzory, wykresy i wszystko, czego używałeś wcześniej; Szyfruj komórki z hasłem; Utwórz listę mailingową i wysyłaj e-maile ...
- 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 bez utraty danych; Podziel zawartość komórek; Połącz zduplikowane wiersze / kolumny... 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 ...
- 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...
- Ponad 300 zaawansowanych funkcji. Obsługuje Office / Excel 2007-2021 i 365. Obsługuje wszystkie języki. Łatwe wdrażanie w przedsiębiorstwie lub organizacji. Pełne funkcje 30-dniowa bezpłatna wersja próbna. 60-dniowa gwarancja zwrotu pieniędzy.

Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę
- 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!































