word和Excel邮件合并(如何在Excel中实现word的邮件合并功能)
word和Excel邮件合并(如何在Excel中实现word的邮件合并功能)
2024-11-22 12:53:30  作者:那伤依存  网址:https://m.xinb2b.cn/tech/sij275227.html

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

word的邮件合并功能,相信大家都非常的熟悉了,一些固定模板的批量打印功能都会用到这样的操作,但是很多时候我们的数据是Excel中的,那么我们是否能够在Excel中实现类似于word中这种邮件合并的功能呢?

代码区

其实这样的话,就有点类似于我们之前学过的Excel的数据汇总的逆推,数据的拆分了,按照计划,我们很快就会接触到更多类型的数据的拆分了,我们这里就先热个场,提前接触下数据的拆分,之所以在这里说数据拆分,主要还是因为他的操作也类似于在多个工作表中同时进行数据填充,和我们之前的内容又有一点关系,所以正好有承上启下的作用

来看看我们的场景

现在我们手上的这个工作表里面有两个表,一个就是成绩总表,一个就是模板,类似于我们通知的模板,



我们现在需要将总成绩的表中所有的同学的成绩按照模板中指定的样式进行填充,并且形成一个人一个工作表的样式来进行打印,并交给学生查看。如果手动复制粘贴,这个工作量就非常的大了,因为不仅仅是复制粘贴,还要找到正确的位置,所以这里我们需要使用VBA来帮助我们实现这样的功能。

Sub sssss()Dim rng As Range, sth As Worksheet, sthn As WorksheetSet rng = Application.InputBox("请选择数据源,不含表头", "数据源的确定", , , , , , 8)For i = 1 To rng.Rows.Count arr = rng.Rows(i) Worksheets("模板").Copy after:=Worksheets(Worksheets.Count) ActiveSheet.Name = arr(1, 1) Set sthn = ActiveSheet sthn.Cells(4, 3) = arr(1, 1) sthn.Cells(4, 5) = arr(1, 2) sthn.Cells(6, 4) = i sthn.Cells(8, 4) = arr(1, 3) sthn.Cells(9, 4) = arr(1, 4) sthn.Cells(10, 4) = arr(1, 5) sthn.Cells(11, 4) = arr(1, 6) sthn.Cells(12, 4) = arr(1, 7) sthn.Cells(13, 4) = arr(1, 8)Next iEnd Sub

看着代码挺长,请示非常的简单,中间一大段都是理解之后就非常的简单了。

先来看下效果

首先我们需要选择好数据源的范围,这里的数据源我的设计是不含表头的,因为在这里表头并没有任何的用处,我们可以根据实际的需要进行调整数据的位置


确定了数据源的范围之后,程序就可以开始运作了,我们来看看最终的结果


我们选择最后一个A22的成绩来对比下,看看是否正确


完全是没有问题的,非常的完美。

代码分析

虽然说今天的代码比较的长,但是理解之后就会觉得非常的简单,我们来看看代码的操作流程

Set rng = Application.InputBox("请选择数据源,不含表头", "数据源的确定", , , , , , 8)

首先我们确定数据源的范围,这里前面也说明了不需要选择表头,大家可能比较的疑惑,不是应该对着表头来填入数据嘛

我们来看看模板终端这些字段,我们都能够在内容中找到数据源中找到具体的位置,并且格式都是固定的,这个时候我们反而不需要那么麻烦去通过表头来选择,直接通过固定的位置来选择反而更加的快,而且代码简单


然后我们将数据源的每一行,装入数组中,这样每一行都是一个数组,我们只需要将数组中的内容填入新建的工作表中对应的位置就可以了。


可以看出来,数组中每个元素的顺序正好就是每一行数据的顺序,我们有了这个顺序之后就可以根据字段在模板中的位置,来进行一一对应了。


姓名是在模板中的cells(4,3)的位置,而姓名在数组中是第一个,所以是arr(1,1)

最终结果就是

sthn.Cells(4, 3) = arr(1, 1)

其他的都是按照这个标准依次类推,就算是这个过程中出现了某些字段没有按照这个顺序来的,也不要紧,我们直接在代码中进行更改就可以了。 更成对应的位置

假设我们这里讲化学和物流的位置更换下


我们也仅仅是需要更换下代码中的顺序就可以了


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

本节课的案例源码已经上传,需要的小伙伴后台私信“7-47-05”,希望大家多支持~~,多多关注 ~ ~

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

  • 脸部的穴位按摩和艾灸哪个效果好(皮肤补水的方法)
  • 2024-11-22皮肤补水的方法  多数人在生活中都会遇到皮肤缺水的情况,出现了皮肤缺水要及时的为身体补水,补水的方法有很多,大家应该要选择适合自己的一种,在平时怎么做能够为皮肤补水呢?一些食物能够为人体的身体或是皮肤补水,吃什么比。
  • 计算机考研哪些方向比较好(计算机考研有哪些专业)
  • 2024-11-22计算机考研有哪些专业常常听到学生在问“计算机考研有哪些专业可以选择”?其实计算机考研的专业选择有很多,关键是看你擅长和喜欢哪个方向个人觉得如果你不是天赋异禀,有很强的学习能力和规划能力,建议大家还是根据自身的基础以及经济。
  • 这题太难了老司机全部答案(挑战老司机7.2-答案解析来啦)
  • 2024-11-22挑战老司机7.2-答案解析来啦点击上方“公众号”可以订阅哦!《挑战老司机》是2018年太原交通广播重点打造的一档益智娱乐类节目,由高原、梦捷联袂主持听众可以通过互动答题获得现金奖励节目时间:周一至周五中午11:00-12:00收听。
  • 男人说四句话暗示他喜欢你(男人给你发4句话)
  • 2024-11-22男人给你发4句话#秋日生活打卡季#点击上方蓝字关注,晴风每天和你一起剖析情感知识文:晴风图:网络(若有侵权,请联系删除)在感情的世界中,我们总是在想,一个男人有没有把我们当媳妇,于是很多时候,我们都在试探看一个男人愿。
  • 辛芷蕾主演的电视剧排行榜(辛芷蕾出演的13部电视剧)
  • 2024-11-22辛芷蕾出演的13部电视剧1、2011年《画皮》,饰演素素2、2012年《偏偏爱上你》,饰演李佳萱2015年《王大花的革命生涯》,饰演江桂芬3、2015年《华胥引之绝爱之城》,饰演南宫清4、2015年《拥抱星星的月亮》,饰演夏。
  • 水仙花花语(你真的了解吗)
  • 2024-11-22你真的了解吗中国水仙花它的花语是代表着美满与相聚之意,但是用在爱情当中它也有着爱情的韵味,就像是一位对爱情充满希望的人儿在静静的想你秋水仙它的花语是不后悔的青春,这是由于它的传说得来的,传说由于一个为了伟大的使命。
  • 韩国国宴菜(享受国宴级待遇)
  • 2024-11-22享受国宴级待遇去韩国之前,先点蓝字关注我们来到韩国不吃顿正宗的韩餐肯定不会过瘾哒!今天小编给大家介绍一下吃韩餐绝对正宗的地方,简直是国宴待遇呢!这里就是韩国之家亮点亮点1感受韩国传统饮食、传统演出、传统婚礼、传统文。
  • 青梅果属于寒性还是热性(青梅果属于寒性还是热性水果)
  • 2024-11-22青梅果属于寒性还是热性水果青梅果属于热性水果青梅果也是属于一种营养价值很丰富的水果青梅果中含有大量的蛋白质、脂肪、碳水化合物、无机盐等多种营养成分适量的吃一些青梅可以有效的为人体的新陈代谢提供必需的氨基酸,营养很高。
  • 你看到的是什么样的苹果(改变世界的四个苹果)
  • 2024-11-22改变世界的四个苹果在人类的历史长河中,我们走过了数千年,人类命运的每一次改变都带来人类社会的大发展,有些是必然有些是偶然我今天给大家讲几个因为苹果改变世界的故事第一个苹果:很早很早以前上帝耶和华,仿照自己的样子造了第一。