https://www.extendoffice.com/documents/excel/3197-excel-create-new-sheet-for-each-row.html  How To Create New Sheets For Each Row In Excel?

 

https://www.extendoffice.com/zh-CN/documents/excel/1174-excel-split-data-into-multiple-worksheets-based-on-column.html

 

 一、create new sheet for each row based on column 

案例介绍:

WPS 2019  How To Create New Sheets For Each Row In Excel?

 

VBA code: create new sheet for each row based on column

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

 

1. 开发工具 -- VB编辑器

WPS 2019  How To Create New Sheets For Each Row In Excel?

 

2. 插入 -- 模块

WPS 2019  How To Create New Sheets For Each Row In Excel?

 

3. 运行代码

WPS 2019  How To Create New Sheets For Each Row In Excel?

 

4. 运行后的效果:

自动新建sheet页:

WPS 2019  How To Create New Sheets For Each Row In Excel?

 

各个sheet页数据:

WPS 2019  How To Create New Sheets For Each Row In Excel?

 

WPS 2019  How To Create New Sheets For Each Row In Excel?

 

 WPS 2019  How To Create New Sheets For Each Row In Excel?

 

二、VBA code: Directly create new sheet for each row

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

 

效果:

根据每一行拆分成各sheet页

WPS 2019  How To Create New Sheets For Each Row In Excel?

 

WPS 2019  How To Create New Sheets For Each Row In Excel?

 

WPS 2019  How To Create New Sheets For Each Row In Excel?

 

... etc

 

 

 

 

 

相关文章:

  • 2021-11-03
  • 2021-07-28
  • 2021-12-12
  • 2021-05-25
  • 2021-08-13
  • 2022-12-23
  • 2021-08-06
  • 2021-10-08
猜你喜欢
  • 2021-12-25
  • 2022-12-23
  • 2022-12-23
  • 2021-10-23
  • 2021-07-31
  • 2022-12-23
  • 2021-12-16
相关资源
相似解决方案