返回目录:excel表格制作
全校学生名单在一个表里,用什么公式能把数据按班级分到不同的excel里?
这个问题用函数和VBA代码就可以轻松解决,简单几步即可。
一、准备工作
1、表格存放路径:D:\各班级成绩 (可根据自己的存放位置自行修改),直接复制路径即可。如图:
2、表格的准备,表1存放数据源,表2罗列班级,注意班级不要重复,表3是一个空表,命名为“data”,起过渡作用。
如图:
表1
表2
表3
以上准备工作做好后,接下来就是操作了。
二、实际操作
在表1(数据源)按 AIT+F11,调出VBA窗口,复制粘贴以下代码
Sub 按班级拆分表格()
Dim i
Dim b
i = 2
While Sheets("班级").Cells(i, 1) <> ""
b = Sheets("班级").Cells(i, 1)
Sheets("数据源").Select
Rows("1:1").Select
Selection.AutoFilter
ActiveSheet.Range("$A$1:$D$2001").AutoFilter Field:=1, Criteria1:=b
Range("A1:D1").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("data").Select
Range("A1").Select
ActiveSheet.Paste
Range("G6").Select
Sheets("data").Select
Application.CutCopyMode = False
Sheets("data").Copy
ActiveWorkbook.SaveAs Filename:="D:\各班级成绩\" & b & ".xlsx", FileFormat:= _xlOpenXMLWorkbook, CreateBackup:=False
ActiveWindow.Close
Range("A1:D4").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.ClearContents
i = i + 1
Wend
End Sub
然后关闭VBA对话框,在表1窗口按ALT+F8执行代码即可。
如下图:
复制粘贴代码
执行代码
下面我对代码做一些必要的说明:
三、最终效果
这个拆分模型不仅可以运用到班级的拆分,也可以用在其他方面的拆分,如按产品,人员,业绩都是可以的。
如果帮到你,请关注我!帮忙点个呗!谢谢,不明白的可以联系我。