巧用Excel函数实现批量打印邮政明信片
因一年一度的中国邮政明信片营销又开锣,除了做任务,还要打印客户的名址库,所以有一个简单的方法批量打印明信片,对邮政人来说是一个福音,偶然在网上查找了一个,就看到这篇方单上的方法。立即验证,的确简单,只是要求制作人员对EXCEL函数有最基本的认识即可,如果还不行,就照版搬吧。
将Excel与Word结合起来,使用邮件合并功能能快速批量打印明信片、信封等。不过用邮件合并稍显复杂。有没有一种更简单的方法呢?我突然想到了Excel中的一个查询函数VLOOKUP,用它说不定能行。通过摸索,我总结出了以下一种简单易行的方法。
首先建立一个Excel文件,在文件中设计两个表:一个是通讯录,另一个是明信片。因为寄发明信片需要邮编、地址、姓名、职务等,所以先将发送目录的上述数据放到通讯录中。在设置邮政编码时遇到了麻烦,因为Excel中没法进行字间距的设置,打印出来的邮编不能对应到相应的方框中,所以变化的邮政编吗每一位要占一个单元格。
然后根据所用明信片的格式输入不变的内容,如祝福语、发信人等信息。再把需要变化的单元格中输入公式(下图圈出的位置)。
H1是输入编号的地方。注意H1中的编号最好设置成白色,不然可就打印出来了。H4单元格的公式是“=VLOOKUP(H1,通讯录!A3:G1002,2,FALSE)”,该公式的意思是根据H1单元格的内容,在通讯录的A3到G1002单元格的范围内按照第一列进行垂直查询,把查到相同内容的单元格右侧的第2个单元格的内容显示在H4。同理我们再分别设置好H5、I5、E1、F1单元格的公式。
(博主注解:最难莫过于弄懂公式,如图:一、H1单元格只是为了引用“明信片工作表”,在H1单元格打1或2...3...是表示引用“明信片工作表”内的第1个名址或第2..3...个名址; 二、而A3:G1002是表示“明信片工作表”内的A列3行至G列1002行范围内的数据,这个可以根据自己的实际数据来设置;三、公式中的2代表引用A3行第二个数据,可以改成3或4等,代表的是引用第几个数据。四、需注意的是:这个公式只能用在一个单元格里面,如果要用在合并的单元格内,要先取消单元格的合并,写好公式成功后再合并单位格即可。)
设置结束后,我们只需改变H1中的编号,明信片的其它信息就会根据通讯录上的内容自动显示出来了。然后对好版,一张张漂亮的明信片就打印出来了。
资料引用:http://www.knowsky.com/341182.html
第二篇:用EXCEL实现批量打印
用EXCEL实现批量打印《企业年金个人信息确认表》
周临军
近日,人力资源部门需要打印全行的《企业年金个人信息确认表》交每个员工签字,如果从清单中逐个将每人的信息复制粘贴到《企业年金个人信息确认表》,再打印出来,无疑工作量非常巨大,还容易出错。如何既准确提取数据,又能减少工作量呢?负责此项工作的雷姐向我求助。于是,我想到了利用EXCEL的VBA编程技术来达到这一目的。具体如下:
1、启用“宏”,在EXCEL的工具栏下打开“宏”(EXCEL2007版则需先点击左上角图标,找到EXCEL选项,勾选“在功能区显示‘开发工具’选项卡”,然后在开发工具栏打开“宏”),将“宏安全性”设为“中”。
2、点击“宏”,创建一个“宏”(宏名称可任意取,如“批量打印”),编辑这个“宏”,写下如下代码:
Sub 批量打印()
'
' Macro1 Macro
'
Sheets(2).Select ‘选定Sheets(2)表,此表为企业年金个人信息清单
qsh = Application.InputBox(prompt:="请输入起始号", Type:=1) ‘录入需要打印的起始编号
If qsh = False Then Exit Sub
jsh = Application.InputBox(prompt:="请输入结束号", Type:=1) ‘录入结束打印的终止编号
If jsh = False Then Exit Sub
Sheets(1).Select ‘选定Sheets(1)表,此表为企业年金个人信息确认表 For i = qsh + 1 To jsh + 1
Sheets(1).Range("b1") = Sheets(2).Range("a" & i).Value‘从Sheets(2)表的A列提取编号,填入Sheets(1)的B1单元格
Sheets(1).Range("b3") = Sheets(2).Range("s" & i).Value‘从Sheets(2)表的S列提取部门信息,填入Sheets(1)的B3单元格
Sheets(1).Range("d3") = Sheets(2).Range("c" & i).Value‘从Sheets(2)表的C列提取姓名信息,填入Sheets(1)的D3单元格
Sheets(1).Range("f3") = Sheets(2).Range("i" & i).Value‘从Sheets(2)表的I列提取性别信息,填入Sheets(1)的F3单元格
Sheets(1).Range("b4") = Sheets(2).Range("e" & i).Value‘从Sheets(2)表的E列提取证件号码信息,填入Sheets(1)的B4单元格
Sheets(1).Range("f4") = Sheets(2).Range("h" & i).Value‘从Sheets(2)表的H列提取出生日期信息,填入Sheets(1)的F4单元格
Sheets(1).Range("b5") = Sheets(2).Range("o" & i).Value‘从Sheets(2)表的O列提取参加工作日期信息,填入Sheets(1)的B5单元格
Sheets(1).Range("d5") = Sheets(2).Range("n" & i).Value‘从Sheets(2)表的N列提取入农行日期信息,填入Sheets(1)的D5单元格
Sheets(1).Range("f5") = Sheets(2).Range("f" & i).Value‘从Sheets(2)表的F列提取参加年金计划日期信息,填入Sheets(1)的F5单元格
Sheets(1).Range("b7") = Sheets(2).Range("u" & i).Value‘从Sheets(2)表的U列提取20xx年补缴信息,填入Sheets(1)的B7单元格
Sheets(1).Range("c7") = Sheets(2).Range("v" & i).Value‘从Sheets(2)表的V列提取20xx年补缴信息,填入Sheets(1)的C7单元格
Sheets(1).Range("d7") = Sheets(2).Range("w" & i).Value‘从Sheets(2)表的W列提取20xx年补缴信息,填入Sheets(1)的D7单元格
Sheets(1).Range("e7") = Sheets(2).Range("x" & i).Value‘从Sheets(2)表的X列提取20xx年补缴信息,填入Sheets(1)的E7单元格
Sheets(1).Range("f7") = Sheets(2).Range("y" & i).Value‘从Sheets(2)表的Y列提取20xx年补缴信息,填入Sheets(1)的F7单元格
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True‘输出到打印机打印出来
Next i
'
End Sub
3、执行“宏”
点击“宏”后,运行这个“宏”就OK了。
4、表格格式如下:
Sheet1表
Sheet2表
第一行为表头,从第二行起为个人信息。
总结,EXCEL的VBA编程简单易学,掌握了能将大量的简单重复劳动由计算机自动完成,对提高工作效率大有帮助,以上方法不仅能实现《企业年金个人信息确认表》的打印,稍做修改,还能实现打印明信片、请柬等等。