如何使用Excel巧设通知书系统

时间:2021-05-18

  图1

  图2

  图3

  由于要实现批量打印,必须在此通知书模板中添加一个通知书序号选择单元格,这样就能够通过这个单元格中的不同序号,从而能够显示不同的家长通知书,在 L3单元格中输入“请输入序号”,然后确定M3单元格为通知书序号选项单元格。同时为了将前面学生成绩明细中每个学生的数据自动引用过来,在通知书中学生成绩明细表“学生姓名”下面的A12中输入公式“=OFFSET(学生成绩明细!$A$2,$M$3*1-1,0)&""”,在第1门课“语文” 下面的B12中输入公式“=VLOOKUP($A$12,学生成绩明细!$A$2:$K$60,2,0)”,在第2门课“数学”下面的B12中输入公式 “=VLOOKUP($A$12,学生成绩明细!$A$2:$K$60,3,0)”,并依次类推,然后在存放老师评语的A14中输入公式 “=VLOOKUP($A$12,老师评语!$A$2:$B$71,2,0)”。这样当在M3单元格中输入1时,就会在通知书模板中显示第1个学生的家长通知书,而2时,则显示第2个学生的家长通知书。

  需要注意的是,此处使用了OFFSET、VLOOKUP等函数,其作用为根据M3单元格中的数值,而自动引用学生成绩明细对应的学生姓名,而且在成绩表以及评语中自动引用相应学生的成绩以及评语资料,而公式“OFFSET(学生成绩明细!$A$2,$M$3*1-1,0)&""”中的$M$3*1则是针对不同数据之间相隔行数而定的,如果相隔2行,则将其修改为$M$3*2即可。

  利用控件,高效率批量打印通知书

  在前面通知书模板设计的基础上,就可以利用控件进行批量打印通知书的工作了,在N2、N3中分别输入开始序号、结束序号,以其后面的O2、O3单元格作为批量打印通知书的起始序号,接着单击“开发工具”菜单,单击“控件”功能区中的“插入”选项,在弹出的控件列表中,选择“ActiveX控件”中的命令按钮,将其拖动到M3单元格的下面。

  接着右击此按钮控件,在弹出的右键快捷菜单中,选择“属性”命令,在随之弹出的“属性”对话框中,将此按钮控件的“Caption”属性,即按钮标题修改为“批量打印通知书”。然后还是右击此按钮控件,选择“查看代码”命令,在弹出的VBA编辑窗口中输入以下批量打印命令:

  Private Sub CommandButton1_Click()

  For i = Range("o2") To Range("o3")

  Range("m3") = i

  ActiveSheet.PrintOut

  Next

  End Sub

  输入完毕后,关闭此VBA编辑框,单击“控件”功能区中的“设计模式”选项,以退出设计模式,然后选择下通知书的打印区域,最后在O2、O3单元格中输入需要批量打印家长通知书的起始序号,如1~50,最后单击“批量打印通知书”按钮,就可以立即打印出所需要的所需要的50名学生通知书了。

  以上的批量打印是仅仅针对通知书打印而言的,实际上利用以上方法,稍微修改下,还可以应用其他一些批量打印工作领域中,如打印标签、付款通知单、成绩单等等,通过这个方法能够大大提高工作效率,减少出现工作误差的机率。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章