ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

求助:报表自动拆分功能

[复制链接]

TA的精华主题

TA的得分主题

发表于 2013-5-8 17:54 | 显示全部楼层 |阅读模式
各位:附件是我自己做的一个销售报表的样式,需要按照团队进行拆分,然后发送给不同的人员,我想有没有这种程序可以自动拆分成不同的组别,然后发送给各相关人员呢,我平时处理的报表中有很多类似的,需要不停的拆分。请大师们帮忙指点一下。感谢。
想实现的功能:自动拆分,自动发送给各相关人员。

报表事例.zip

7.42 KB, 下载次数: 54

TA的精华主题

TA的得分主题

发表于 2013-5-8 19:15 | 显示全部楼层
本帖最后由 hehex 于 2013-5-8 21:33 编辑

请参考附件。
会自动在你的当前工作薄所在文件夹下面的\departments\ 子文件夹下生成各个部门的记录的.xlsx 文档。
需要在使用前先建立好该名字的子文件夹,如果要修改文件夹的名称,请按alt+f11 参考程序源码,里面注释写的比较清楚如何改,注意事项等等。

另外,关于自动发送邮件功能,如果你使用的是微软office 里的outlook 组件(不是outlookexpress,是outlook)的话,我可以试写一下相关代码。
这几天正尝试学这方面的知识。

有任何问题,请联系我。

报表事例.zip

37.72 KB, 下载次数: 53

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-5-9 17:26 | 显示全部楼层
非常感谢。功能很强大,节省了大量重复工作。我再仔细看看。

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-7-24 15:14 | 显示全部楼层
hehex
您好!
你给我写的程序对我帮助很大。
你给我的这个拆分程序,我测算了一下如果日报有两万行,处理速度大概在5-10秒之间。非常实用,还有一点需要你帮忙再修改一下。
1、总表中有多个部门,我只需要将基础数据部分涉及的部门拆分出来
2、以本报表为例,总表中有三个部门,彩电事业部,冰箱事业部,笔记本事业部,我只需要将基础数据这个sheet中列示的冰箱事业部、笔记本事业部拆分出来;因为基础数据部分无人事部,所以人事部数据不做任何处理
3、我这么做的原因是,销售总表是包含各个团队的,我只负责其中的一部分团队,所以我只需要摘取一部分团队的明细,发给不同团队负责人。
4、各分表格式与总表保持一致,特别是分表中的日期部分。
请帮忙再看看这个代码改怎么写呢。 部分团队拆分.zip (33.55 KB, 下载次数: 12)

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-7-24 16:01 | 显示全部楼层
另外,关于自动发送邮件功能,如果你使用的是微软office 里的outlook 组件(不是outlookexpress,是outlook)的话,我可以试写一下相关代码。
这几天正尝试学这方面的知识。

有任何问题,请联系我。
---自动发送邮件部分,我在网上找到了CDOMail这两天在调试。我看有的人还用jmail系统在设置。

TA的精华主题

TA的得分主题

发表于 2013-7-25 12:41 | 显示全部楼层
海哥2011 发表于 2013-7-24 16:01
另外,关于自动发送邮件功能,如果你使用的是微软office 里的outlook 组件(不是outlookexpress,是outlook) ...

已经修改代码完成你按配置文件拆分报表的功能。
请自行测试是否有问题。
利用CDO 对象发送邮件可以给你编写,但是你需要提供一个发送用的测试邮箱的账户密码
网上free 的就可以,仅供测试使用。

报表事例.zip

17.82 KB, 下载次数: 21

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-7-26 17:52 | 显示全部楼层
报表事例.zip (19.39 KB, 下载次数: 13)
你好
非常感谢你的回复。
有一部分代码我没看明白哈,我把我的疑问以备注形式放上去了。
另外,不需要判断是否有有没有文件存在,我会提前创建好。
清空分表文件内容的时候可以只清空按team命名的sheet,其他sheet保留么。
比如说只清空工作表冰箱事业部中的worksheet(”冰箱事业部"),对于此文件中的其他sheet保存。
我这样做的想法是,要把各分表当做一个管理平台。此分表包含明细表,还包含汇总表,其中汇总表中我会添加目标、应收等信息。
也就是说各分表不只包含明细,还包括很多汇总报表。
你再帮忙看看。
感谢


TA的精华主题

TA的得分主题

发表于 2013-7-29 11:28 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
海哥2011 发表于 2013-7-26 17:52
你好
非常感谢你的回复。
有一部分代码我没看明白哈,我把我的疑问以备注形式放上去了。

关于程序中dic 和dic1 的问题,最早的源程序中是根据你的总明细表提取部门,为了避免重复,使用了字典对象来处理。后来你提供了基础数据表,仅从基础数据表中读取表名,因为理论上基础数据表内的部门名一列是不应出现重复记录的,其实是否使用字典已经无所谓。为了使程序改动不太大增加调试工作量,因此仍旧使用字典对象。所以先定义了一个dic1,后经分析发现,源表已经不必要再用字典去取表格名,直接从数据表读取即可。因此一个字典足矣,dic1 根本就没有用了,所以注释了。删除也可以,关于字典相关内容,可以参考论坛的相关教程这里不再赘述。
说一下这次更新的内容,即不再根据你原有表格名判断删除写入表内容,而是根据你的基础数据表上设置的部门名进行生成和删除。比如,目前是“笔记本部”和“冰箱部”两个部门,系统会自动判断将这两个部门生成的明细导出生成独立的工作薄,并删除这两个工作表。其他的工作表都会保留。目前只有“总表”和“基础数据”这两张表格的表格名称都不能发生改变,因为程序中直接读取这两张表格的名称。其他的表格名再多也不会被改动和删除。

具体参考附件吧

报表事例.zip

31.9 KB, 下载次数: 22

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-7-29 15:11 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
hehex
您好!非常感谢你抽出宝贵时间回复。
我刚才试验了一下,还会把各分表中的其他sheet会删除掉,如果不好处理,你就帮忙把判断是否存在文件去掉吧。
总共有八个部门,我会提前设置好的。
另外日期部分会变成41283,这个你帮忙看看改怎么调整一下呢。
感谢。

TA的精华主题

TA的得分主题

发表于 2013-7-29 16:34 | 显示全部楼层
海哥2011 发表于 2013-7-29 15:11
hehex
您好!非常感谢你抽出宝贵时间回复。
我刚才试验了一下,还会把各分表中的其他sheet会删除掉,如果 ...

日期格式问题,是由于你用的源数据表日期列的格式设置有问题。把该列设为日期,这个与程序无关。
最新的程序代码生成部门数据工作表以及外存工作薄还有在外存后自动删除部门数据工作表,完全是根据
你的"基础数据"工作表的A2 单元格起始向下的内容做的。
换句话说,如果你需要的工作表没有在基础数据的部门列下面,是不会生成数据,外存和删除的。
所以你说的其他sheet 也被删除,是不能理解的。应该是你用了以前代码版本。
请使用最新的附件程序模块1(Moudule1) 里面的两个sub 过程。
如果还不行,把你测试会删除sheet 的文件打包发上来。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-23 09:38 , Processed in 0.043340 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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