前景提要(文末提供源码下载)

昨天我们大致的讲述了下数据横向合并的普通操作,相信小伙伴们并不满足于这样简单的数据合并吧,毕竟日常工作中怎么会有这么简单的数据合并呢?

日常中我们常见的数据合并应该是这样的

有一个表的数据是完全的,但是其他的表的数据则是不完整的,这样的数据表要如何汇总合并呢?

代码区

Sub twotwo()Dim nsth As Worksheet, arr()Worksheets.Add after:=Worksheets(Worksheets.Count)Set nsth = ActiveSheetnsth.Name = "横向汇总(2)"For Each sth In Worksheets If sth.Name <> nsth.Name Then k = k + 1 If k = 1 Then l = sth.Cells(1, Columns.Count).End(xlToLeft).Column counts = Worksheets.Count ReDim Preserve arr(1 To sth.Cells(Rows.Count, 1).End(xlUp).Row, 1 To l) For i = 1 To sth.Cells(Rows.Count, 1).End(xlUp).Row For j1 = 1 To l arr(i, j1) = sth.Cells(i, j1) Next j1 Next i Else arrt = sth.UsedRange l = sth.Cells(1, Columns.Count).End(xlToLeft).Column ReDim Preserve arr(1 To UBound(arr), 1 To UBound(arr, 2) + l - 1) For i = 1 To UBound(arr) On Error Resume Next num = WorksheetFunction.Match(arr(i, 1), WorksheetFunction.Transpose(WorksheetFunction.Index(arrt, 0, 1)), 0) If Err.Number = 0 Then For j = 2 To l arr(i, UBound(arr, 2) + j - l) = sth.Cells(num, j) Next j End If Next i End If End IfNext sthnsth.Cells(1, 1).Resize(UBound(arr), UBound(arr, 2)) = arrEnd Sub

整体来说并不算太难,大家要理解这个思路,来看看效果

需要的数据都全部汇总了,并且相应的字段应该缺少的数据,也补充完整了。

代码分析

首先我们通过遍历循环的方式得到了一个数组,这个数组中的数据就是第一个表格中的数据。

然后继续进入循环进入下一个工作表中,从这里开始就需要进行判断了。

首先同当前表格的使用区域复制给数组arrt,,然后对数组进行重新重组

ReDim Preserve arr(1 To UBound(arr), 1 To UBound(arr, 2) + l - 1)

这里大家可能比较难理解,UBound(arr, 2)代表了二维数组的最大下标,就是列数,L代表了当前工作表的最大行数,因为第一列是参考了,不算在其中,所以-1

然后就是遍历循环的方式了, 每找到一个参考列数据的位置, 就复制给数组中对应的数组的位置,这个位置如何得到呢?

arr(i, UBound(arr, 2) + j - l) = sth.Cells(num, j)

最大下标,数据所在行这几个参数之间的关系,大家可以通过调试的方式,更好理解一些。

=======================================================

本节课的案例源码已经上传,需要的小伙伴们后台私信“7-22-8”即可,希望大家多多支持~~

说明一下,下载了源码文件之后,要放在需要合并的文件夹内才可以正常执行

好了~明晚19:00,准时再见。

字段合并_报表数据合并困难?找VBA!数据不标准字段缺失如何合并?找VBA相关推荐

  1. datagrid如何获取一行数据中的某个字段值_或许是全网最全面关于数据库面试题...

    原文: https://www.enmotech.com/web/detail/1/794/1.html 两万字全面论述数据库面试题(上) https://www.enmotech.com/web/d ...

  2. 2个recordset合并_史上最全!8种办法玩转Excel文字合并,总有一款适合你!

    本文作者丨 wayy - Excel 研究院 本文由「秋叶 Excel」原创发布 如需转载,请在公众号发送关键词「转载」查看说明 在日常工作过程中, 我们经常会遇到要把一串文字拼接到一起的情况. 你还 ...

  3. finereport字段显示设置_如何在Excel中显示和编辑中文拼音字段

    有时候遇到一些生僻字需要进行注音,或者是其他一些特殊场景,都会使用到拼音的功能.下面就来介绍一下如何使用这一功能. 编辑和显示拼音 1.选中目标单元格,然后点击工具栏上的"显示或隐藏拼音字段 ...

  4. 如何将两个微信小程序合并_这个小程序厉害了,可以将多个微信群合并成超级大群!...

    由于工作需要或者推广宣传需要,我们经常需要建立超过500人的微信群聊,怎么实现呢? 作为一名专业的社群运营人员,这种问题怎么能难得倒我呢? 之前我们玩转社群666就曾经策划了一次<社群资源对接群 ...

  5. mysql中xml字段提取_从Mysql XML转储中提取数据xml.dom.minidom

    我用phpmyadmin将mysql数据库导出到xml,现在我想用minidom解析它,但是我无法以我需要的形式获取内容.在 摘要:我需要将变量title分配给This is the title中包含 ...

  6. mysql单字段更新全字段更新_疑问: 数据库进行更新时 当数据数据相同时 全字段更新和单字段更新是否有区别...

    楼上大致正确,但是 1.前者也是通用的,但要多写一些 setXXX 的代码: 2.第二种方式在并发情况下容易导致前面的update失效,除非整个过程加锁: 请求1: update Student se ...

  7. bp配置 sap_SAP HANA BP主数据增强-对标准字段客户化检查

    业务背景介绍 在SAP HANA版本中,标准系统已采用BP事务代码进行维护客户.供应商主数据.对客户统驭科目.供应商统驭科目.客户账号组等标准字段的增强点与ECC版本已有所不同. 本文主要讲述如何查询 ...

  8. python用merge匹配和左连接_左手用R右手Python系列——数据合并与追加

    感谢关注天善智能,走好数据之路↑↑↑ 欢迎关注天善智能,我们是专注于商业智能BI,大数据,数据分析领域的垂直社区,学习,问答.求职一站式搞定! 本文作者:天善智能社区专家杜雨 今天这篇跟大家介绍R语言 ...

  9. 两组的数据平均值合并_地理信息系统导论学习笔记(10)—数据探查

    点击上方蓝字可加关注 微信公号:ArcGisdada 互助.共享.学习 上面这本书就是学习的教材,大家需要一起学习的可以点击购买.一共十八章(第一章绪论.第二章坐标系统.第三章矢量数据模型.第四章栅格 ...

最新文章

  1. 移动端各种小技巧及优化体验(网上看到记录一下省的总结了)
  2. 从源码角度看Android系统SystemServer进程启动过程
  3. aac蓝牙编解码协议_最新的真无线蓝牙耳机选购指南
  4. C语言之获取类型存储空间
  5. html中高与行高的区别,深入了解css的行高Line Height属性
  6. 十年探索,云上明灯,re:Invent再启掀产业风暴
  7. static在php中,php中static关键字在类中的使用
  8. OpenCV4每日一练day6:Image Watch的使用
  9. webservice 调用慢问题解决
  10. 亚马逊靠“新闻稿”推动创新,跃居市值第一
  11. repo start master --all 和repo start --all master区别
  12. abb机器人gsd文件_ABB机器人控制器死机故障维修
  13. 电大有计算机教程吗,电大教程 计算机概述.ppt
  14. r语言 svycoxph_生存分析的Cox回归模型(比例风险模型)R语言实现及结果解读
  15. 银行计算机岗位招聘简历,这才是HR筛选银行简历的正确打开方式!
  16. 制作外挂需要多高的编程技术?
  17. delphi调试需要管理员权限程序报错“Unable to create process:请求的操作需要提升”
  18. linux shell脚本攻略 第三章 以文件之名 find,chmod,touch,head,tail,tree,wc
  19. 台湾POWEREX电源拆解测试,告诉发烧友什么叫专业
  20. 弄懂这56个Python技巧,秒变Python大神

热门文章

  1. Python升级后ssl模块不可用问题解决和浅析
  2. 【白皮书分享】2021中国数字经济时代人工智能生态白皮书.pdf(附下载链接)...
  3. 速成pytorch学习——3天自动微分机制
  4. 如何将linux内核的带级别控制的printk内容打印出来
  5. PTA5-19 求链式线性表的倒数第K项
  6. NLP文本分类大杀器:PET范式
  7. python打包成exe_python打包成exe有GUI工具啦
  8. java I O类大全_Java I/O —— File类
  9. 集成学习框架-学习小结20161121
  10. 微机笔记6——输入输出控制