将总数据表进行拆分至多个工作表
问题
将数据表中数据根据所属部门分配至对应部门的工作表内,如下图所示:
使用For循环拆分工作表
Sub shishi()
Dim sht As Worksheet
Dim rng As Range
Call qk
'循环每个表
For Each sht In Sheets
'循环第一张表中每一行
For Each rng In Sheet1.Range("d2:d" & Sheet1.Range("d65535").End(xlUp).Row)
If sht.Name = "数据" Then
Exit For
End If
If rng.Value = sht.Name Then
rng.EntireRow.Copy sht.Range("a" & sht.Range("a65535").End(xlUp).Row + 1)
End If
Next
Next
End Sub
Sub qk()
For i = 2 To Sheets.Count
Sheets(i).Range("a2:f10000").ClearContents
Next
End Sub
使用筛选拆分工作表
Sub shishi()
Dim i As Integer
'Selection.AutoFilter
For i = 2 To Sheets.Count
'打开筛选
Sheet1.Range("A1:F1048").AutoFilter Field:=4, Criteria1:=Sheets(i).Name
'其中Field:=4表示筛选表格中的第四列,Criteria1表示筛选条件
'复制粘贴
Sheet1.Range("a2:g1114").Copy Sheets(i).Range("a2")
Next
'selection.AutoFilter
Sheet1.Range("A1:F1048").AutoFilter
End Sub