Jak utworzyć nowe arkusze dla każdego wiersza w programie Excel?
Przypuśćmy, że masz tabelę wyników z nazwiskami wszystkich uczniów w kolumnie A. Teraz chcesz utworzyć nowe arkusze na podstawie tych nazwisk w kolumnie A, a każdy arkusz zawiera unikalne dane ucznia. Lub po prostu utwórz nowy arkusz tylko dla każdego wiersza w tabeli bez uwzględniania nazw w kolumnie A. W tym filmie dowiesz się, jak to osiągnąć.
Utwórz nowe arkusze dla każdego wiersza z kodem VBA
Utwórz nowe arkusze dla każdego wiersza za pomocą narzędzia Podziel dane Kutools for Excel
Utwórz nowe arkusze dla każdego wiersza z kodem VBA
Za pomocą poniższych kodów możesz utworzyć nowy arkusz na podstawie wartości kolumn lub po prostu utworzyć nowe arkusze dla każdego wiersza w programie Excel.
1. naciśnij inny + F11 klawisze jednocześnie, aby otworzyć Microsoft Visual Basic for Applications okno.
2. w Microsoft Visual Basic for Applications okno, kliknij wstawka > Moduł. A następnie wklej następujący kod do pliku Moduł okno.
Kod VBA: utwórz nowy arkusz dla każdego wiersza na podstawie kolumny
Sub parse_data()
'Update by Extendoffice 2018/3/2
Dim xRCount As Long
Dim xSht As Worksheet
Dim xNSht As Worksheet
Dim I As Long
Dim xTRrow As Integer
Dim xCol As New Collection
Dim xTitle As String
Dim xSUpdate As Boolean
Set xSht = ActiveSheet
On Error Resume Next
xRCount = xSht.Cells(xSht.Rows.Count, 1).End(xlUp).Row
xTitle = "A1:C1"
xTRrow = xSht.Range(xTitle).Cells(1).Row
For I = 2 To xRCount
Call xCol.Add(xSht.Cells(I, 1).Text, xSht.Cells(I, 1).Text)
Next
xSUpdate = Application.ScreenUpdating
Application.ScreenUpdating = False
For I = 1 To xCol.Count
Call xSht.Range(xTitle).AutoFilter(1, CStr(xCol.Item(I)))
Set xNSht = Nothing
Set xNSht = Worksheets(CStr(xCol.Item(I)))
If xNSht Is Nothing Then
Set xNSht = Worksheets.Add(, Sheets(Sheets.Count))
xNSht.Name = CStr(xCol.Item(I))
Else
xNSht.Move , Sheets(Sheets.Count)
End If
xSht.Range("A" & xTRrow & ":A" & xRCount).EntireRow.Copy xNSht.Range("A1")
xNSht.Columns.AutoFit
Next
xSht.AutoFilterMode = False
xSht.Activate
Application.ScreenUpdating = xSUpdate
End Sub
Uwagi: A1: C1 to zakres tytułów twojej tabeli. Możesz to zmienić w zależności od swoich potrzeb.
3. naciśnij F5 klucz do uruchomienia kodu, nowe arkusze robocze są tworzone po wszystkich arkuszach roboczych bieżącego skoroszytu, jak na poniższym zrzucie ekranu:
Jeśli chcesz bezpośrednio utworzyć nowe arkusze dla każdego wiersza bez uwzględniania wartości kolumny, możesz użyć następującego kodu.
Kod VBA: bezpośrednio utwórz nowy arkusz dla każdego wiersza
Sub RowToSheet()
Dim xRow As Long
Dim I As Long
With ActiveSheet
xRow = .Range("A" & Rows.Count).End(xlUp).Row
For I = 1 To xRow
Worksheets.Add(, Sheets(Sheets.Count)).Name = "Row " & I
.Rows(I).Copy Sheets("Row " & I).Range("A1")
Next I
End With
End Sub
Po uruchomieniu kodu każdy wiersz aktywnego arkusza zostanie umieszczony w nowym arkuszu.
Uwagi: Wiersz nagłówka zostanie również umieszczony w nowym arkuszu z tym kodem VBA.
Utwórz nowe arkusze dla każdego wiersza za pomocą narzędzia Podziel dane Kutools for Excel
W rzeczywistości powyższa metoda jest skomplikowana i trudna do zrozumienia. W tej sekcji przedstawiamy Podziel dane użyteczność Kutools for Excel.
Przed złożeniem wniosku Kutools for ExcelProszę pobierz i zainstaluj najpierw.
1. Wybierz tabelę, której chcesz użyć do tworzenia nowych arkuszy, a następnie kliknij Kutools Plus> Pluj dane. Zobacz zrzut ekranu:
2. w Podziel dane na wiele arkuszy roboczych w oknie dialogowym, wykonaj następujące czynności.
A. Do tworzenia nowych arkuszy na podstawie wartości kolumny:
B. Aby bezpośrednio tworzyć nowe arkusze dla każdego wiersza:
tworzony jest nowy skoroszyt zawierający wszystkie nowe arkusze. Zobacz zrzuty ekranu poniżej.
Tworzenie nowych arkuszy dla każdego wiersza na podstawie wartości kolumny:
Tworzenie nowego arkusza dla każdego wiersza bez uwzględnienia wartości kolumny:
Jeśli chcesz skorzystać z bezpłatnego okresu próbnego (30-dzień) tego narzędzia, kliknij, aby go pobrać, a następnie przejdź do wykonania operacji zgodnie z powyższymi krokami.
Utwórz nowe arkusze dla każdego wiersza za pomocą narzędzia Podziel dane Kutools for Excel
Najlepsze narzędzia biurowe
Zwiększ swoje umiejętności Excela dzięki Kutools for Exceli doświadcz wydajności jak nigdy dotąd. Kutools for Excel Oferuje ponad 300 zaawansowanych funkcji zwiększających produktywność i oszczędzających czas. Kliknij tutaj, aby uzyskać funkcję, której najbardziej potrzebujesz...
Office Tab Wprowadza interfejs z kartami 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!













