说明:
正好用到,翻了一下以前的收藏,发现有这么个 vba,正好拿来使用。Excel 365 for Mac 测试通过。
1. 先讲 sheet 第一列中的项目分类 排序;
2. 宏将 把分类中相同值的行数据复制到一个新的 sheet,sheet name 就是分类的名称;
CODE:
Function Rows_Split()
Dim Rcount As Long, OldRow As Long
Dim DataSheet As Worksheet
Dim tSplit As String
Dim Tx As String
Set DataSheet = ActiveSheet
Recount = ActiveSheet.Range("A65535").End(xlUp).Row + 1
For Nx = 2 To Recount
Tx = DataSheet.Cells(Nx, 1).Value '第一栏为要分的类
If Tx <> tSplit Then
If OldRow <> 0 Then
Debug.Print OldRow
DataSheet.Rows(OldRow & ":" & Nx - 1).Copy Range("A2") '数据复制范围、
End If
If Tx <> vbNullString Then
OldRow = Nx
Worksheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = Tx
tSplit = Tx
DataSheet.Range("A1:K1").Copy Range("A1") '标题列位置
End If
End If
Next
Set DataSheet = Nothing
End Function