/ Offices & Vba / 1浏览

【VBA】【Office宏】将数据按类分到不同 sheet

说明:
正好用到,翻了一下以前的收藏,发现有这么个 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