|
发表于 2016-11-30 19:48
|
显示全部楼层
本楼为最佳答案
- Option Explicit
- Sub SplitSheet()
- Dim arrRow()
- Dim lRow&, Ends&
- Dim iCnt%
- Dim iarrRow%
- Dim actSheet As Worksheet
- Application.ScreenUpdating = False
- With Worksheets("总表")
- Ends = .Cells(.Rows.Count, 1).End(3).Row
- For lRow = 1 To Ends
- If InStr(.Cells(lRow, 1), "产品型号:") Then
- iCnt = iCnt + 1
- ReDim Preserve arrRow(1 To iCnt)
- arrRow(iCnt) = lRow
- End If
- Next
- For iarrRow = 1 To UBound(arrRow)
- Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = Replace(.Cells(arrRow(iarrRow), 1), "产品型号:", "")
- Set actSheet = ActiveSheet
- If iarrRow < UBound(arrRow) Then
- .Range(.Cells(arrRow(iarrRow), "A"), .Cells(arrRow(iarrRow + 1), "R")).Copy actSheet.Range("A1")
- Else
- .Range(.Cells(arrRow(iarrRow), "A"), .Cells(Ends, "R")).Copy actSheet.Range("A1")
- End If
- Next
- End With
- Application.ScreenUpdating = True
- End Sub
复制代码
拿去玩吧 |
评分
-
查看全部评分
|