分享

工作表拆分:按照多列拆分,保存为独立工作簿

 冷茶视界 2024-05-12 发布于江苏

内容提要

  • 工作表拆分
  • 用户窗体、ComboBox、文本框
大家好,我是冷水泡茶。
前两天在论坛上看到一个求助贴:多列条件拆分代码求助

详细需求:

各位老师好,求助一个拆分的代码:

1.按源数据DEF三列为条件进行拆分为独立工作簿。

2.拆分好的工作簿命名以D-E-F命名 

3.拆分出来的工作簿删除DEF列 

具体数据表格:

1、源数据工作簿,出库单明细导入工作表

2、分表文件夹,用来保存拆分后的文件,目前是空的

关于Excel文件拆分,我们分享过一些案例:

1、【Excel表格拆分通用版
2、【多文件分类拆分
3、【表格拆分:按照固定模板保存文件并打印
4、【工作表拆分:员工业绩表按人拆分为单独文件
5、【考勤表按部门拆分为单独文件
6、【批量生成送货单!工作表拆分
7、【工作表拆分,按维修人员姓名拆分明细工作表

大部分拆分需求,可以通过Excel表格拆分通用版】来完成,但今天这个案例有点特殊,

1、拆分关键字为3列;
2、拆分后删除关键字列;
3、拆分的工作簿以关键字加“-”来命名。

我们一起来看一下:

基本思路:

1、我们准备采用用户窗体加上必要的控件来进行拆分,适当扩展程序的适用性:

(1)默认源数据文件为当前工作簿所在目录下的“源数据”文件,可以更改,如果当前目录下无此文件,则文本框为空;

(2)拆分文件保存文件夹,默认为当前工作簿所在目录下的“分表”,果当前目录下无此文件夹,则文本框为空;

(3)在点“拆分”时,检查相关控件是否为空,为空则退出过程。

2、在窗体启动时,如果读取到了正确的数据源文件及待拆分的工作表,则把数据装入字典dic,以“仓库编码-仓库名称-负责人“为key,对应的其他列的内容装入数组temp。
3、我们点“拆分”按钮,则循环dic的key,创建新的工作簿,把对应key的item读入数组temp,再把temp的内容写入第一个工作表,设置单元格格式。
4、我们以key为文件名保存并关闭创建的工作簿。

VBA代码

代码详见第二条推文

后记

1、工作表拆分的方法有多种,也可以按关键字筛选工作表,复制筛选结果到新的工作簿
2、今天的案例中有个要求“删除DEF”列,我们在把数据装入字典的时候,直接跳过DEF列,不需要拆分后再删除,当然,如果采用筛选复制的方法的话,那就要删除啦。
好,今天就到这里,我们下期再会!
~~~~~~End~~~~~~

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多