ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

一个邮件合并的难题!

[复制链接]

TA的精华主题

TA的得分主题

发表于 2005-1-14 09:34 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

请看附件这种情况,如用“插入下一条记录的办法”合并,但每人记录的行数不一样,请教:如何根据每人的情况有条件“插入下一条记录”,合并后,每人一张记录。谢谢!

7BcEN4tl.rar (2.16 KB, 下载次数: 170)

TA的精华主题

TA的得分主题

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

邮件合并时,只是按记录逐条显示、逐条打印。

至于合并后每人一条记录的要求,只能在数据源上解决。

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-1-14 10:08 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

记得好像有人说过,用“if……then"句可以,不知对不对?

TA的精华主题

TA的得分主题

发表于 2005-1-14 10:17 | 显示全部楼层

请参:http://club.excelhome.net/viewthread.php?tid=75330&replyID=376140&skin=1

有问题再交流.

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-1-14 11:06 | 显示全部楼层
谢谢!我的情况是这样的:每一姓名下要合并记录的条目数量不一样,有的是2条,有的是3条,有的更多,请问该怎样设置条件,插入下一条记录?
[此贴子已经被作者于2005-1-14 11:08:48编辑过]

TA的精华主题

TA的得分主题

发表于 2005-1-15 06:39 | 显示全部楼层

这是EXCEL的解决方案,供参考:(所有操作均在EXCEL中完成)

1. 数据/分类汇总:分类字段:姓名;汇总公式:计数;汇总项:姓名;每组数据分页;确定。

2. 汇总后数据,点击左上角(状态栏下方)的“组及分类显示级别”2(共分三级:123),选中A2~A38(根据你上传的附件),F5定位为可见单元格,即选中所有汇总项的单元格(目的是隐藏它们);

3. 点级别3,所有数据倒全部在屏幕上显示,所有分类汇总的单元格已被选中,格式//隐藏,这样,已经形成的分页的单独分姓名显示;

4. 格式化:全选数据区域,F5定位为可见单元格,CTRL+1,设置单元格格式,字体与边框和行高等设置。

5. 页面设置:文件/页面设置/工作表选项卡,顶端标题栏,选第一行(A1),页边距选项卡,勾选居中方式:水平后确定。

6. 预览一下我们的成果。

附件中的“分类汇总”工作薄。

9XtBauYi.zip (5.89 KB, 下载次数: 214)
[此贴子已经被作者于2005-1-15 8:14:14编辑过]

s496f9N9.rar

13.65 KB, 下载次数: 198

一个邮件合并的难题!

TA的精华主题

TA的得分主题

发表于 2005-1-15 08:26 | 显示全部楼层

解决方案二:

EXCEL&WORD的Automation(自动化)解决方案:

以下代码供参考:

----------------------------------------------------------模块1---------------------------------------------------------- Sub WriteToWord() Dim MyRange As Range, i As Range, LastAddress As String Dim WdApp As Word.Application, Doc As Word.Document, N As Integer On Error GoTo ErrHandle '启动错误处理程序 LastAddress = Sheets(1).[B65536].End(xlUp).Address 'B列最后一个数据 Set MyRange = Sheets(1).Range("B2:" & LastAddress) '定义循区域范围 Set WdApp = CreateObject("Word.Application") '创建WORD对象 N = 2 '从第二行开始 With WdApp .ScreenUpdating = False '关闭WORD屏幕更新 Set Doc = .Documents.Open(ThisWorkbook.Path & "\pswxm.DOT") '打开该模板 '在与本工作薄同一文件夹下 For Each i In MyRange '在指定范围内循环 If i <> i.Offset(-1, 0) Then '如果该数据与下一数据不同 N = 2 '初始化N值 '移到文档最后 .Windows(Doc).Selection.EndKey Unit:=wdStory '当I的行号非2时插入分页符 If i.Row > 2 Then .Windows(Doc).Selection.InsertBreak Type:=wdPageBreak '光标处插入已设置的自动图文集 Doc.AttachedTemplate.AutoTextEntries("成绩表").Insert where:=.Windows(Doc).Selection.Range, _ RichText:=True Else '否则则选定当前表格的最后一行并向下插入一行 Doc.Tables(Doc.Tables.Count).Rows(N).Select WdApp.Windows(Doc).Selection.InsertRowsBelow 1 N = N + 1 '加1 End If With Doc.Tables(Doc.Tables.Count) '对当前表格赋值 .Cell(N, 1).Range = i.Offset(, -1) '学期 .Cell(N, 2).Range = i '姓名 .Cell(N, 3).Range = i.Offset(, 1) '英语 .Cell(N, 4).Range = i.Offset(, 2) '高等数学 .Cell(N, 5).Range = i.Offset(, 3) 'C语言 End With Next .Visible = True 'WORD程序可见,假设此句放在上面,可在调试过程中看到WROD运行情况 .ScreenUpdating = True 'WORD屏幕更新恢复 End With Application.ScreenUpdating = True MsgBox "运行结束,请切换到WORD程序中进行编辑与打印设置!", vbOKOnly + vbInformation Exit Sub ErrHandle: MsgBox "Excel & Word遇到不可遇见错误!请进行调试模式,进行调试!", vbOKOnly + vbCritical End Sub

注意事项:

请在EXCEL中运行此过程.

如果需要设置表格和文字的格式,请右击该WORD模块,插入/自动图文集:(PSWXM.DOT),出现自动更正对话框/自动图文集选项卡中的查找范围内点取PSWXM(模板)如图,只有一个自动图文集,选中"成绩表"后插入,然后回到文档中进行设置,再选中该表格,插入/自动图文集,输入"成绩表"来重新定义该自动图文集,最后删除文档中的表格,保存后退出.

程序运行结束后,该WORD模板文件请另存为WORD文档,不可覆盖和不要保存该模板.

VXnItkVJ.zip (17.55 KB, 下载次数: 196)

一个邮件合并的难题!

一个邮件合并的难题!

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-1-17 07:42 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-15 14:40 , Processed in 0.037593 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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