Excel根据某一列数据,自动分成多张表格 100
如图,想按照D列经理,分成不同的表格,每个经理一张单独表格(不是工作簿),表格格式不变,例如图2的形式。求会vba的大神帮助。...
如图,想按照D列经理,分成不同的表格,每个经理一张单独表格(不是工作簿),表格格式不变,例如图2的形式。求会vba的大神帮助。
展开
2个回答
2016-12-21 · 互联网+时代高效组织信息化平台
关注
展开全部
我在网上找到一段代码能实现一个表中分成几个sheet表,请问怎样能分解成单独几个excel工作簿。
代码:
Sub test()
With ActiveSheet
r = 2 '数据从第2行开始
t = .Cells(r, 3).Value '获取第r行第3列的值即第一个班级名称
Do Until t = "" '循环直到获得的单元格内容为空
n =Application.WorksheetFunction.CountIf(.Range("c:c"), .Cells(r, 3)) '计算C列第r行第3列单元格的个数
Sheets.Add '插入一个新的工作表
.Range("a1:d1").Copy Range("a1")'将表头复制到新表
.Cells(r, 1).Resize(n, 4).CopyRange("a2") '从第r行第1列开始向右向下扩展n行4列复制到新表的a2
r = r + n '获取下一个班级所在行号
t = .Cells(r, 3).Value '第2句注释
Loop
End With
End Sub
代码:
Sub test()
With ActiveSheet
r = 2 '数据从第2行开始
t = .Cells(r, 3).Value '获取第r行第3列的值即第一个班级名称
Do Until t = "" '循环直到获得的单元格内容为空
n =Application.WorksheetFunction.CountIf(.Range("c:c"), .Cells(r, 3)) '计算C列第r行第3列单元格的个数
Sheets.Add '插入一个新的工作表
.Range("a1:d1").Copy Range("a1")'将表头复制到新表
.Cells(r, 1).Resize(n, 4).CopyRange("a2") '从第r行第1列开始向右向下扩展n行4列复制到新表的a2
r = r + n '获取下一个班级所在行号
t = .Cells(r, 3).Value '第2句注释
Loop
End With
End Sub
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询