ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[原创] 按同一字段合并多条记录的邮件合并 方法与缺陷求教

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2012-1-28 14:36 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 ofhzxzg 于 2012-1-28 16:39 编辑

本人从事审计工作,经常遇到撰写询证函的问题,其中以银行审计中询证函的撰写为最难,因为一般企业的询证函只有一条记录,而银行的询证函则有多条记录,这便导致了用一般邮件合并的方法不能自动生成。
通过学习本论坛的资料,我基本学会了该类数据邮件合并的办法。有感于1、此类问题较为普遍,论坛里有不少人在问;2、有些帖子没写明白,或没写全;3、目前的办法,还有2个缺陷;故特发此贴,一为大家交流,二为向高手请教,以便完善。
特别申明:本方法,非我原创,而是出自本论坛,本人只是做了整理与完善的工作,以便大家看的明白。
一、对数据源的编辑:
添加两个字段:判断一:使用IF函数,如该条记录为借款人最后一条记录,则显示0,否则显示1。判断二:使用COUNTIF函数,计算出该借款人在数据源中共有几条记录。当然,在添加这两个字段之前,要先对借款人之一字段进行排序。
二、对主文档的编辑
1、进行邮件合并,按菜单中“工具→信函与邮件→邮件合并”,之后按提示逐步进行:文档类型:信函;使用当前文档;收件人:使用现有列表;选择数据源,即选择主文档(本例即为“询证函模板”)要合并的数据源(本例即为“test.xls)。之后,逐一将光标停留在主文档中要插入数据的地方,之后选择“其他项目”,将数据插入主文档中。其中主文档中“编号”使用“插入→域→autonum”即可实现自动编号,当然也可以在数据源中编号,直接插入。在主文档表格中先插入2行,然后按ALT+F9,此时可以看到主文档中显示的域函数。之后便开始对表格中域函数进行编辑,以达到同一借款人多条贷款数据的合并。
2、在主文档表格中,选择第二行第一列,对其中的域函数进行编辑。按“邮件合并工具栏”中的“插入WORD域”→“下一条记录条件”,(如没有该按钮,可按菜单中“工具→信函与邮件→邮件合并→显示邮件合并工具栏”)域名选择“判断一”,比较条件选择“等于”,比较对象录入“1”。之后便逐步录入“IF”域函数,其中嵌套“SEQ”和“MERGEFIELD”函数。其中“SEQ”函数为插入一个序列号,后面可以为任意字符,但必须以字母开头,加上域开关“\C"为重复上一个序列号。在本例中该函数计算结果第二行为1,第二行为2,以此类推。在输入域函数时,记得域函数中的大括号是要按CTRL+F9,而不能通过键盘录入。第二行第一列编辑完成后,便编辑第二列,第三列,直至完成。具体可详见附件中的公式。(如看不到公式,按ALT+F9)。第二行编辑完成,便复制至第三行,第四行,直至全部。
3、按“邮件合并工具栏”中的“查看合并数据”按钮,(如没有该按钮,可按菜单中“工具→信函与邮件→邮件合并→显示邮件合并工具栏”),此时显示的数据是不对的,如编号未自动递增,同一借款人的多条记录也未合并。
4、按“邮件合并工具栏”中的“修正错误”按钮,根据需要选择一个,皆可。此时,生成的新文档便对了,即同一借款人的多条记录得到合并。共8个借款人,生成8页的文档。
5、如要对数据格式进行编辑,可添加域开关。如本例中的贷款数据要显示20,000.00元,即添加域开关“\#,##.00” 即可。
三、本方法的缺陷
1、不能自动分页,如本例主文档中的表格为11行,则只能容纳借款人有11条及以下的记录,如有12条或以上的记录,则不能显示。当然,这个缺陷可以在数据源中通过“判断二”这一字段帅选出有12条或以上记录的借款人,再做一张有2页、甚至三页的模板即可。
2、打印时,不能选择页码范围,只能从头或从尾打印。这个错误较上个麻烦,因为此类文档往往有上千页,一旦中间打印机出现状况,很麻烦。
上述2个缺陷,如有高手能解决,望不吝赐教。



该贴已经同步到 ofhzxzg的微博

邮件合并附件.rar

12.23 KB, 下载次数: 2371

附件

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2012-2-4 21:39 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
我也关注该问题,希望有高手用最简洁的方法解决问题。

TA的精华主题

TA的得分主题

发表于 2012-2-5 07:32 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 sylun 于 2012-2-5 07:34 编辑
三、本方法的缺陷
1、不能自动分页,如本例主文档中的表格为11行,则只能容纳借款人有11条及以下的记录,如有12条或以上的记录,则不能显示。当然,这个缺陷可以在数据源中通过“判断二”这一字段帅选出有12条或以上记录的借款人,再做一张有2页、甚至三页的模板即可。
2、打印时,不能选择页码范围,只能从头或从尾打印。这个错误较上个麻烦,因为此类文档往往有上千页,一旦中间打印机出现状况,很麻烦。
上述2个缺陷,如有高手能解决,望不吝赐教。

关于第一个问题,如果用信函类型合并,估计很难解决。建议用目录类型的合并再结合一段宏代码处理表格的合并问题,具体方法可参照http://club.excelhome.net/thread-402507-1-1.html
至于第二个问题,其实就多节文档中指定范围页码打印的问题。在打印时表示某一具体页码的完全方式是pnsn,其中前后两个n分别是节中的页和该页所在的节。如果想打印整节就用sn表示,如要打印第2节的内容,打印范围输入s2即可。

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-2-5 10:48 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
多谢楼主,我试试。

TA的精华主题

TA的得分主题

发表于 2012-2-14 15:12 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
sylun 发表于 2012-2-5 07:32
关于第一个问题,如果用信函类型合并,估计很难解决。建议用目录类型的合并再结合一段宏代码处理表格的合 ...

楼主的qq是多少啊?我有一些问题想请教,谢谢~

TA的精华主题

TA的得分主题

发表于 2012-2-14 15:14 | 显示全部楼层
sylun 发表于 2012-2-5 07:32
关于第一个问题,如果用信函类型合并,估计很难解决。建议用目录类型的合并再结合一段宏代码处理表格的合 ...

楼主的qq是多少啊?我有一些问题想请教,谢谢~

TA的精华主题

TA的得分主题

发表于 2012-2-28 11:53 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
介绍得很详细啊,谢谢了
收藏了
待有时间再慢慢学习
打印范围在“合并到打印机”的对话框里应该有的选择的

TA的精华主题

TA的得分主题

发表于 2012-2-28 10:01 | 显示全部楼层
楼主的解答对于入门级的朋友来说,还是不懂。。。。

TA的精华主题

TA的得分主题

发表于 2012-3-15 17:53 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2012-3-30 14:40 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
基本没看懂   
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-12-25 15:51 , Processed in 0.048415 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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