Как да създадете нови листове за всеки ред в Excel?
Да предположим, че имате таблица с резултати с имената на всички ученици в колона A. Сега искате да създадете нови листове въз основа на тези имена в колона A и make per sheet съдържа уникални данни на ученика. Или просто създайте нов лист само за всеки ред в таблицата, без да вземате предвид имената в колона A. В това видео ще получите методи за постигане на това.
Създайте нови листове за всеки ред с VBA код
Създайте нови листове за всеки ред с помощната програма за разделяне на данни на Kutools за Excel
Създайте нови листове за всеки ред с VBA код
Със следните кодове можете да създадете нов лист въз основа на стойности на колони или просто да създадете нови листове за всеки ред в Excel.
1. Натиснете Друг + F11 клавиши едновременно, за да отворите Microsoft Visual Basic за приложения прозорец.
2. В Microsoft Visual Basic за приложения прозорец, кликнете Поставете > Модули. И след това поставете следния код в Модули прозорец.
VBA код: създайте нов лист за всеки ред въз основа на колона
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
Забележка: A1:C1 е диапазонът от заглавия на вашата таблица. Можете да го промените въз основа на вашите нужди.
3. Натиснете F5 за стартиране на кода, след което се създават нови работни листове след всички работни листове на текущата работна книга, както е на екранната снимка по-долу:
Ако искате директно да създадете нови листове за всеки ред, без да отчитате стойността на колоната, можете да използвате следния код.
VBA код: Директно създаване на нов лист за всеки ред
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
След изпълнение на кода всеки ред в активния работен лист ще бъде поставен в нов работен лист.
Забележка: Заглавният ред също ще бъде поставен в нов лист с този VBA код.
Създайте нови листове за всеки ред с помощната програма за разделяне на данни на Kutools за Excel
Всъщност горният метод е сложен и труден за разбиране. В този раздел ви представяме Разделени данни полезност на Kutools за Excel.
Преди да кандидатствате Kutools за Excel, Моля те първо го изтеглете и инсталирайте.
1. Изберете таблицата, която трябва да използвате, за да създадете нови листове, и след това щракнете Kutools плюс> Spit Data. Вижте екранна снимка:
2. В Разделете данните в няколко работни листа диалогов прозорец, моля, направете следното.
A. За създаване на нови листове въз основа на стойност на колона:
B. За директно създаване на нови листове за всеки ред:
създава се нова работна книга с всички нови листове вътре. Вижте екранните снимки по-долу.
Създаване на нови листове за всеки ред въз основа на стойността на колоната:
Създаване на нов лист за всеки ред без отчитане на стойността на колоната:
Ако искате да имате безплатен пробен период (30 дни) на тази помощна програма, моля, щракнете, за да го изтеглитеи след това преминете към прилагане на операцията съгласно горните стъпки.
Създайте нови листове за всеки ред с помощната програма за разделяне на данни на Kutools за Excel
Най-добрите инструменти за продуктивност в офиса
Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време. Щракнете тук, за да получите функцията, от която се нуждаете най-много...
Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна
- Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
- Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!