一户一表之利用VBA宏进行单页、批量打印
来源:网络收集 点击: 时间:2024-08-21在一户一表的数据表空白区域任意选取两个单元格,输入批量打印需要的【打印页码起】(起始页码)、【打印页码止】(结束页码)

*-*插入按钮*-*
【开发工具】--【插入】--【表单控件】--【按钮(窗体控件)】,弹窗【指定宏】,直接点【确定】(因为还没添加宏,先不管)


*-*按钮命名*-*
左键单击按钮或右键单击按钮选择【编辑文字】,编辑按钮名称,更改为【批量打印】;
重复步骤二,添加按钮,并更改按钮名称为【单页打印】

*-*输入代码*-*
点击【开发工具】--【查看代码】,输入如下代码:
Sub 单页打印()
E8_Msg 确定打印当前页?
ActiveSheet.PrintOut
End Sub
Sub 多页打印()
E8_Msg 确定要批量打印数据?
For I = To
= I
Application.Calculate
ActiveSheet.PrintOut
Next
End Sub
Function E8_Msg(info As String)
If MsgBox(info, vbYesNo) = vbNo Then
End
End If
End Function
Private Sub CommandButton1_Click()
End Sub

*-*代码简析*-*
(1)Sub后面的单页打印、多页打印为宏名称

(2)For I = To ,表示单元格X28至X29,即【打印页码起】【打印页码止】的内容

(3) = I,表示单元格L11,即【户编号】的内容

(4)E8_Msg 确定打印当前页?,即打印时的提示语

*-*指定宏*-*
关闭代码窗口,给【批量打印】【单页打印】按钮【指定宏】
1、右键单击按钮【批量打印】--【指定宏】--【Sheet1.多页打印】--【确定】;
2、右键单击按钮【单页打印】--【指定宏】--【Sheet1.单页打印】--【确定】;



*-*设置打印区域*-*
下拉拓选需要打印的内容区域,点击【页面布局】--【打印区域】--【设置打印区域】

*-*测试*-*
左键单击打印按钮,测试看看效果


*-*优化*-*
1、打印相关区域格式、名称自定义设置
2、当打印起、止页码未输入或者起的页码小于止的页码,可弹窗提示。
如:输入函数=IF(X28=,请输入起始页码,IF(X29=,请输入结束页码,IF(OR(X28X29,X28=X29),输入有误,起始页码需小于结束页码,)))
简析:当起或止的页码为空时,提示请输入起始页码,若起的页码小于或等于止的页码,则提示输入有误,起始页码需小于结束页码

*-*启用宏*-*
初次打开有些会被禁用宏,这时需点击【选项】,弹出安全警告,再点击【启用此内容】--【确定】即可


1、因需使用VBA宏,建议使用微软版 Excle
2、WPS版需企业版或者企业账号方可使用VBA宏
版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_1147096.html