今天这个例子,可以说是只要你使用Excel就一定曾经有过这样的需求,只是你不知道如何进行操作.
(最下方有视频解析和练习文档)
假使你有一张总表,中间包含各个部门人员的情况,
现在需要根据部门进行工作簿的拆分,
如下流程图所示:
将总表拆分成每一个单独的部门都是一份独立的Excel文件.
这个案例真的很经典,我也会根据大家的基础讲到两个方法,
01
透视表搭配万用VBA代码
这个方法适用于对于VBA不是很懂的朋友.
1.用数据源插入数据透视表,把所有字段都直接选择勾,在这个例子中用部门进行工作簿的拆分,所以部门放进筛选栏目.
2.在数据透视表中会存在分类汇总和总计,通过设计选项卡取消分类汇总和总计,让数据透视表看上更像一个完整的表格,可以选择以表格形式存在.
3.选择数据透视表,选择左上角的选项,生成报表筛选页,把所有的部分都按照独立的工作表存放.
4.由于最后导出的表格需要正常的表格模式,而不是数据透视表的格式,
所以按住SHIFT键选择所有下方的独立部门数据表格,将表格复制粘贴成值.
5.确认所有的独立表格数据无异常.
6.打开开发工具,选择VBA编辑器,将万用代码复制进去.
(代码在下方查看)
7.执行代码,稍等片刻,待的提醒拆分成功,即所有的独立表格都进行了工作簿的独立生成.
这是上方用到的代码,你不需要考虑那么多,直接复制这一段代码,按照上方的操作进行执行就可以了...
Sub 拆分到工作簿()Application.ScreenUpdating = FalseDim Fpath As StringDim SHT As WorksheetFpath = ActiveWorkbook.PathFor Each SHT In ActiveWorkbook.SheetsSHT.CopyActiveWorkbook.SaveAs Fpath & "\" & SHT.Name & ".xlsx"ActiveWorkbook.CloseNext SHTMsgBox "工作簿创建完毕"Application.ScreenUpdating = TrueEnd Sub
02
VBA代码直接执行
第二种方法,适合有VBA基础的朋友.
直接点击按钮就可以生成按照部门进行切割的各个部门独立工作簿.
这个方法,当然你也可以搭配INPUTBOX来选择性的按照部门,或者其他的类别来进行内容的拆分.