ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: 彭希仁

[讨论] 复杂的多表汇总(难度有点大,做出来有分加哦)

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2010-1-30 13:24 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖已被收录到知识树中,索引项:多表合并和汇总
回复110楼的帖子
似乎你没看过我在108楼的程序

[ 本帖最后由 hupanshan 于 2010-1-30 13:26 编辑 ]

TA的精华主题

TA的得分主题

发表于 2010-1-30 14:39 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

回复 111楼 hupanshan 的帖子

你的代码非常好,彭总的意思是,假如一个一点也不会VBA的,但操作EXCEL或者会一些简单的软件,应用能力一般的,他们宁愿会跳出一个窗体或者界面什么的,然后他们可以根据自己的需要,比如在标题行里这个字段不要这个字段要,或者只想汇总几个型号,或者只想汇总其中几张表,又或者只需要某个时间段的数据等等,他们只要简单在界面上选择一下,然后按下按纽,得出他们所需要的,我估计彭总就是这个意思吧。  

不过越是傻瓜式,编的人越难。

TA的精华主题

TA的得分主题

发表于 2010-1-30 15:31 | 显示全部楼层
原帖由 office2008 于 2010-1-30 14:39 发表
你的代码非常好,彭总的意思是,假如一个一点也不会VBA的,但操作EXCEL或者会一些简单的软件,应用能力一般的,他们宁愿会跳出一个窗体或者界面什么的,然后他们可以根据自己的需要,比如在标题行里这个字段不要这个 ...

我上面的帖子是针对110楼的。因为我的程序并不限定必须使用版主的表格。当然了,对原表的规范性还是有很多限制的。比如,表格样式要一致,左上角的位置要一致。表头不允许空项等等。
编个通用的程序难度太大。比如左上角行、左上角列、上表头行数、左表头列数,这四个参数是必须的,如果事先不知道,光这四个参数就够解释一通了。没办法,只好发明了“表芯”的概念,在这个位置把行、列输入,就解决了四个参数的确认。
我的程序虽然操作上不够人性化,适应性也有很大局限,但对操作者懂不懂VBA没有要求。
总之,无非是在分类项的可变性方面做了点探索,赢得版主加分也是很高兴的。

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-1-30 16:42 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
原帖由 office2008 于 2010-1-30 14:39 发表
你的代码非常好,彭总的意思是,假如一个一点也不会VBA的,但操作EXCEL或者会一些简单的软件,应用能力一般的,他们宁愿会跳出一个窗体或者界面什么的,然后他们可以根据自己的需要,比如在标题行里这个字段不要这个 ...



就是这个意思,操作要简单,功能要强大

TA的精华主题

TA的得分主题

发表于 2010-1-30 17:55 | 显示全部楼层
原帖由 kaiyuanmdf 于 2010-1-25 19:58 发表
没用字典试一下

菜鸟提点建议,你的代码好象是每次汇总前没有清除原表中的汇总数据,每次汇总后都会累加前一次的数,不知是不是这样

TA的精华主题

TA的得分主题

发表于 2010-1-30 18:26 | 显示全部楼层
原帖由 hupanshan 于 2010-1-30 13:24 发表
回复110楼的帖子
似乎你没看过我在108楼的程序

看过,你的程序的确比其它的在扩展性方面有很大的提高,表头与左边列都有扩展。能否继续完善:1、导入表样能否改成由使用者选择性导入一个准备好的excel文件中的某个工作表样;2、汇总数据改为由操作者选择某个文件夹下的任意多个文件一个或多个工作表。

TA的精华主题

TA的得分主题

发表于 2010-1-30 19:30 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
原帖由 tclnxc 于 2010-1-30 17:55 发表

菜鸟提点建议,你的代码好象是每次汇总前没有清除原表中的汇总数据,每次汇总后都会累加前一次的数,不知是不是这样

不好意思,存在您提的问题,在with ws语块中加入下面的判断语句。
If ws.Name = "总表" Then
        .Range(.Cells(4, 4), .Cells(r - 1, l)) = ""   ‘.clear
End If
问题好象还不止这些,很想重新写。改进这几个方面:
1、单元格区域左上角位置的定位。一直想用IocationInTable。
2、行、列标与总表相比正确性的判断。
3、需合并的表内数据的有效性

TA的精华主题

TA的得分主题

发表于 2010-1-31 08:26 | 显示全部楼层
原帖由 wenwen000424 于 2010-1-30 18:26 发表

看过,你的程序的确比其它的在扩展性方面有很大的提高,表头与左边列都有扩展。能否继续完善:1、导入表样能否改成由使用者选择性导入一个准备好的excel文件中的某个工作表样;2、汇总数据改为由操作者选择某个文件 ...

你提的这两个问题是容易解决的,但不一定是大家都需要的“通用”。在“通用”的道路上,问题太多,我只是根据搂主提出的“分类项可变性”做了点探索,无非是演示一下可能性。至于你提到的两点,在网上已经有众多的解决方法。

TA的精华主题

TA的得分主题

发表于 2010-2-1 17:55 | 显示全部楼层
大家很热情,看来彭版号召力极强,将自用的DLL发送,旨在抛砖引玉。
工具是自用的,基本可以通用,一般用于多文件、多表合并数据所用,未按模板格式输出!
请各位高手指导!

[ 本帖最后由 thtfzhaobo 于 2010-7-27 13:57 编辑 ]

TA的精华主题

TA的得分主题

发表于 2010-2-1 18:03 | 显示全部楼层
功能较杂,只讲本文涉及部分演示一下。注册DLL我就不说了
1.gif
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-24 01:46 , Processed in 0.034712 second(s), 6 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表