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 w 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
Note: 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.
Note: 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 w Kutools for Excel
W rzeczywistości powyższa metoda jest skomplikowana i trudna do zrozumienia. W tej sekcji przedstawiamy Podziel dane użyteczność Kutools dla programu Excel.
Przed złożeniem wniosku Kutools dla programu 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 mieć bezpłatną wersję próbną (30 dni) 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 w Kutools for Excel
Najlepsze narzędzia biurowe
Zwiększ swoje umiejętności Excela dzięki Kutools for Excel i doświadcz wydajności jak nigdy dotąd. Kutools dla programu Excel oferuje ponad 300 zaawansowanych funkcji zwiększających produktywność i oszczędzających czas. Kliknij tutaj, aby uzyskać funkcję, której najbardziej potrzebujesz...
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!