本文介绍如何利用Excel实现带照片的准考证套打,通过VLOOKUP函数、定义名称、控件和VBA宏,实现数据与照片的自动关联和批量打印。以下为详细步骤:
1. 设计套打模板,建立数据关联
首先扫描空白准考证并保存为JPG格式,插入Sheet2工作表并设为非打印对象。使用“绘图”工具栏在需填充文本的位置插入矩形框。在A21单元格输入序号,B21单元格输入公式“=IF(VLOOKUP(A21,Sheet1!A2:I1000,2)=0,"",VLOOKUP(A21,Sheet1!A2:I1000,2))”,其他字段类似。然后选中矩形框,在编辑栏输入“=”并点击对应数据单元格,建立关联。设置矩形框格式为无填充、无线条。
2. 定义名称,导入照片
定义名称“A”,引用位置为“=OFFSET(Sheet1!$A$1,0,0,COUNTA(Sheet1!$A:$A),1)”。再定义名称“X”,公式为“=INDIRECT(ADDRESS(MATCH(Sheet2!$A$21,A,0),9,1,,"Sheet1"))”。在Sheet2中插入图片框,将编辑栏中的“=EMBED("Forms.TextBox.1","")”改为“=X”,即可自动显示对应照片。
3. 制作微调按钮,编写宏代码
从“窗体”工具栏添加微调按钮,链接到B19单元格。在A21单元格输入“=B19”。打开VBA编辑器,插入模块,输入以下代码:
Sub 打印()
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Call dy
End Sub
Sub dy()
Dim a%, b$, c$, abc$
a = Sheets("Sheet2").Cells(19, 2).Value
b = Sheets("Sheet2").Cells(19, 4).Value
If a < b Then
a = a + 1
Sheets("Sheet2").Cells(19, 2).Value = a
Call 打印
End If
End Sub
Private Sub CommandButton1_Click()
Call 打印
End Sub保存后,添加一个按钮并指定“打印”宏。设置打印区域为A1:F13,点击按钮即可批量打印。