VBA批量循环打印奖状:根据原表数据和奖状模板,逐份打印所有学生奖状,数组、字典应用

文摘   教育   2024-10-12 23:58   江苏  

点【关于本公众号】了解一下,欢迎关注谢谢!

快速浏览

实用案例

|日期控件||简单的收发存||收费管理系(Access改进版)|

|电子发票管理助手||电子发票登记系统(Access版)|

|文件合并||表格拆分||审计凭证抽查底稿|

|中医诊所收费系统(Excel版)||中医诊所收费系统(Access版)||银行对账单自动勾对|

|印章使用登记系统|

收费使用项目

|财务管理系统||工资薪金和年终奖个税筹划||新税法下工资表模版|

内容提要

  • 根据模板循环打印奖状
  • 数字、字典
大家好,我是冷水泡茶,今天在EXCELHOME论坛上看到一个求助贴:[求助] 利用EXCEL批量打印奖状
具体要求

1、我是一名教师,因工作关系经常要打印奖状,同事交来的表格如左图所示。

2、我常用的方法是将本表运用函数调整成sheet2后做为数据源,再应用WORD的邮件合并功能合并打印出所有奖状。但由于数量过多常出错,现寻求能在EXCEL中直接能按名单打印出所有的奖状的方法,要达到的排列效果如sheet3所示。

3、曾在本网站看过奖金发放条的制作,感觉可行,但苦于不懂VBA,所以请高手帮忙!

https://club.excelhome.net/thread-530555-1-1.html?_dsign=176191eb

这让我想起来我们曾经分享过的一个奖状打印案例,有点类似:

学校运动会获奖证书打印模板:窗体筛选批量打印/多关键字模糊搜索

我们一起来看一下数据表格:

1、原表:学生评优名单表

2、奖状模板表:打印模板,除了红圈处的学生姓名、奖项,其他文字是格式文本,可根据实际需要修改。
3、还有一张Sheet2表,我们用不到,不去管它。
基本思路:
1、我们采用数组+字典的方式来解决。
2、我们先把原表数据装入数组arr,再循环arr处理数据。
3、我们把奖项,也就是表中的第一列类别,作为字典dic的key,把第3列学生名单进行分列,存到一个数组temp中,作为字典的Item。
4、数据处理完,我们再循环dic的key,把item取出来存到数组temp,再循环temp,把每个学生的姓名与key逐一写入奖状模板表,并打印出来。

完整示例代码详见当天另一条推文。

后记

1、其实,我们也可以不用字典,也就是不必把数据装入字典后再去循环打印,我们可以在循环arr原表数据的时候,立即进行打印,但是呢,把数据装入字典感觉踏实一点,有时候除了批量打印以外,有可能还需要个别打印,用字典处理好数据比较方便一点。

2、对于字典的处理方式,我们也可以用一个嵌套字典,有两种方式:

(1)以奖项(类别)为key,每个学生为二级字典的key,item任意;

(2)以学生姓名为key,奖项为二级字典的key,这里主要考虑可能有一个人得两个及以上奖的情况;如果一个人只拿一个奖,我们也可以只用一级字典,学生姓名为key,奖项为item。

3、原案例中的表格名称与格式已稍作修改。

好,今天就到这里,我们下期再会!


~~~~~~End~~~~~~

安利小店
安利的牙膏非常不错,用了以后就不想再用其他的了;洗洁精洗衣液也是日常必备,用过都说好!

合谷医疗
合谷医疗专攻各种疑难杂症,尤其擅长抑郁症焦虑失眠儿童神经发育异常多动症自闭孤独症腰颈椎疾病治疗,可谓神乎其技!体验过的直呼早点来就好了

喜欢就点个、点在看留言评论、分享一下呗!感谢支持!

案例文件分享说明

  • 案例文件可免费分享,但需符合以下要求:

  • 关注点赞点在看点...留言,方便的话分享一下就完美啦!如果不便走上面的“流程”,请打赏,万分感谢!

  • 请添加上方我的合谷医疗企业微信,案例文件通过微信发送。如有定制需求,亦可通过微信联系。

  • Excel问题,请在文章下面留言讨论!或者加入我的付费交流群提问

VBA编程实战
Excel应用案例、Excel VBA、公式函数使用技巧分享,思路解读...... 这里有鲜活案例、实用的技巧......
 最新文章