请老师指导学习一下如何将一个总表拆分成N个分表, 如附件所示,有一个汇总表,现在想把它按部门分成N个分表。请问如何实现? 即:将总表拆分成:售后服务部.xls,售后服务部.xls,采购部.xls,销售部.xls。各表依据部门这个字段内容进行拆分,工作薄名称以部门这个字段内容命名。 |
Sub TEST()
Dim OBS As Worksheet, TGB As Workbook
Dim Dept%
Set OBS = ThisWorkbook.Sheets(1)
For Dept = 2 To [A65536].End(3).Row
If OBS.Cells(Dept, 2) <> OBS.Cells(Dept - 1, 2) Then
Set TGB = Workbooks.Add
TGB.SaveAs Filename:=OBS.Cells(Dept, 2)
OBS.Rows(1).Copy TGB.Sheets(1).Rows(1)
End If
OBS.Rows(Dept).Copy Rows([A65536].End(3).Row + 1)
Next Dept
End Sub
谢谢老师指导,看了那么多相关知识代码,还是老师您这代码最简洁,还有一个问题需要老师指导一下,如果我想把生成的表默认保存在分表文件夹中,需要如何用代码实现。
改好了, 请试试, 不要叫我老师, 我也是新手.
Dim Dept%, OBS As Worksheet, TGB As Workbook
Set OBS = ThisWorkbook.Sheets(1)
For Dept = 2 To [A65536].End(3).Row
If OBS.Cells(Dept, 2) <> OBS.Cells(Dept - 1, 2) Then
Set TGB = Workbooks.Add
OBS.Rows(1).Copy TGB.Sheets(1).Rows(1)
End If
OBS.Rows(Dept).Copy Rows([A65536].End(3).Row + 1)
If OBS.Cells(Dept, 2) <> OBS.Cells(Dept + 1, 2) Then
TGB.Close True, "D:\My Documents\桌面\总表拆分成分表\分表\" & OBS.Cells(Dept, 2) & ".xls"
End If
Next Dept
评论