打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
工作表合并新技能:巧用数组字段定位函数,灵活整合分表内容到总表

快速浏览

实用案例

|日期控件||简单的收发存||收费管理系(Access改进版)|

|电子发票管理助手||电子发票登记系统(Access版)|

|文件合并||表格拆分||审计凭证抽查底稿|

|中医诊所收费系统(Excel版)||中医诊所收费系统(Access版)||银行对账单自动勾对|

|印章使用登记系统|

收费使用项目

|财务管理系统||工资薪金和年终奖个税筹划||新税法下工资表模版|

内容提要

  • 工作表合并
  • 动态数组
大家好,我是冷水泡茶。
今天在论坛上看到一个求助贴:求助汇总数据到总表

详细需求:

1、把除了总材料表的其他所有的表都汇总到总材料表中,只汇总一级标题往后的,总表最好可以加一个序号。

2、排列序号:给前面加一个序号

3、最好代码具有通用性,可以自己根据需求修改列数 

具体数据表格:

1、总材料表,需要把其他明细表数据汇总到此,以下简称“总表”

2、分表,名称各异,我们统一称为“分表”,除了“总表”都是“分表”,明细数据表,需要把这些表的数据汇总到总表

关于Excel工作表合并,我们分享过好几个案例:

1、重磅升级:Excel文件合并,包括子文件夹,文件名关键字过滤,工作表名关键字过滤
2、合并工作簿:按指定条件批量合并工作簿内容
3、Excel表合并:不管字段顺序,不管字段多少,不管表头在第几行,统统可以合并
4、文件合并神器/文件合并功能大扩展/EXCEL合并、WORD合并、PDF合并、图片合并为PDF
5、合并文件夹下所有EXCEL明细表
6、不规则工作表汇总:表头字段顺序不同如何汇总?明细表添加记录自动更新到汇总表

最后一个案例跟今天的有点类似,我们一起来看一下:

基本思路:

我们准备采用数组来读取数据,合并工作表内容,还会用到我们的自定义函数Pxy进行数组字段定位。

1、我们把总表表头读入数组arr,行列进行转置,以便动态扩展数组
2、我们循环工作簿的所有分表,把分表的数据读入数组temp。
3、我们用Redim preserve方法动态扩展数组arr,使之能正好容纳temp的数据。
4、我们循环arr第一列(表头字段),根据每个表头字段,利用Pxy函数来定位该字段在temp中的位置,正好是我们要提取数据的数组元素的下标,把对应数据写入arr正确位置。顺便在arr第一行写入序号。
5、我们把temp的数据写入总表,设置单元格格式。完工

VBA代码

代码详见第二条推文

后记

1、还有一种方法,就是复制分表单元格,然后再粘贴到总表,但一般来说,我们不太建议使用这种方法,一是要求总表、分表数据结构要相同,二是如果数据量大,表格多的情况下,速度可能会变慢
2、在今天的案例中,我们假定,总表的表头字段是预先填写好的,不能空着,我们是根据总表的表头字段,到分表中去提取数据;另外,所有表格的表头字段必须在第一行,否则取不到数据。
3、各分表的表头字段顺序、字段的多少不影响合并,与总表表头字段相同的会被合并,不相同的忽略。这满足了问主的要求:代码具有通用性,可以自己根据需求修改列数
4、表头字段不能有重复,换言之,所有表的表头字段必须唯一。否则,合并的结果肯定会有问题。
好,今天就到这里,我们下期再会!
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
Excel VBA 7.47将总表的数据分别按照要求填入指定的模板位置中,类似word邮件合并功能
compare函数 excel
附录 规范与限制
EXCEL常用技巧,提升工作效率必
突破结构限制的数据透视表
如何提高Excel的运行速度
更多类似文章 >>
生活服务
分享 收藏 导长图 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服