接上一讲“如何利用excel快捷打印考签:[1]考签模板设计”,今天我与大家继续分享如何实现考签的预览与打印。本讲中需要编写vba代码,有vba基础的朋友一看就会懂的,没有vba基础的朋友也不用灰心,只要你把我提供的vba代码复制到相应位置就可以了。下面就一起来看一看吧。
![如何利用excel快捷打印考签:[2]:预览与打印](http://www.52ij.com/uploads/allimg/160401/1Q44061N-0.jpg)
前期准备工作(包括相关工具或所使用的原料等)
excel2010详细的操作方法或具体步骤
首先我们要打开上次我们设计的考签模板excel文件。打开“考签打印B4纸”工作表。下我们需要在此工作表中,插入4个按钮,在插入按钮之前需要把“插入控件”工具按钮显示出来。方法是:鼠标指向“视图”菜单,右键单击,选择“自定义快速访问工具栏”。如图所示“
![如何利用excel快捷打印考签:[2]:预览与打印](http://www.52ij.com/uploads/allimg/160401/1Q44024Y-1.jpg)
如图所示,按顺序依次单击,把”插入控件“加入快速访问工具栏。
![如何利用excel快捷打印考签:[2]:预览与打印](http://www.52ij.com/uploads/allimg/160401/1Q4401a7-2.jpg)
回到“考签打印B4纸”工作表,这时就看到快速访问工具栏上面多了一个按钮“插入控件”。单击其右边的三角号,在弹出的菜单中选择Activex类的命令按钮,这样就在“考签打印B4纸”工作表中插入一个Activex类的命令按钮。如图所示。
![如何利用excel快捷打印考签:[2]:预览与打印](http://www.52ij.com/uploads/allimg/160401/1Q440H44-3.jpg)
![如何利用excel快捷打印考签:[2]:预览与打印](http://www.52ij.com/uploads/allimg/160401/1Q4402L9-4.jpg)
右键单击按钮,选中”属性“,如1图,在弹出的属性对话框中,分别设置按钮的标题文字,背景颜色,字体,字号等,如2图所示。
![如何利用excel快捷打印考签:[2]:预览与打印](http://www.52ij.com/uploads/allimg/160401/1Q44053O-5.jpg)
![如何利用excel快捷打印考签:[2]:预览与打印](http://www.52ij.com/uploads/allimg/160401/1Q4403J8-6.jpg)
第一个按钮设置效果下面如图1所示. 用同样的方法分别再插入3个命令按钮。效果如图2所示:
![如何利用excel快捷打印考签:[2]:预览与打印](http://www.52ij.com/uploads/allimg/160401/1Q440HO-7.jpg)
![如何利用excel快捷打印考签:[2]:预览与打印](http://www.52ij.com/uploads/allimg/160401/1Q4402Y1-8.jpg)
双击“预览全部”按钮,或通过查看工作表代码,进入代码编辑状态,把如下代码复制到箭头所指区域:
Dim i, icount As Integer
If MsgBox("确认要连续预览所有页吗?", vbYesNo)=7 ThenExit SubElse If
'计算需要打印的总页数icount=Application.WorksheetFunction.Ceiling((Worksheets(2).[a65536].(xlUp).row - 2) / 30, 1)'指定从第一页开始打印Range("P2").Value=1'循环打印每一页For i=1 To icountRange("P2").Value=iRange("L1").Value="第 " & i & " 页"ActiveWindow.SelectedSheets.PrintPreview '预览Next i'恢复参数Range("p2").Value=1Range("l1").Value=""
如图所示:
![如何利用excel快捷打印考签:[2]:预览与打印](http://www.52ij.com/uploads/allimg/160401/1Q4404315-9.jpg)
同样的方法,为“预览指定页”按钮,添加如下代码。
Dim iget, icount As Integericount=Application.WorksheetFunction.Ceiling((Worksheets(2).[a65536].(xlUp).row - 2) / 30, 1)iget=InputBox("请输入要打印标签页:", "提示", 1)If iget > icount Or iget < 1 ThenMsgBox "请检查指定的页码是否超出范围,应为1---" & icount & "页", vbOKOnlyExit SubElseRange("p2").Value=Int(iget)Range("l1").Value="第 " & Int(iget) & " 页"ActiveWindow.SelectedSheets.PrintPreview‘预览指定区域 If
如图所示:
![如何利用excel快捷打印考签:[2]:预览与打印](http://www.52ij.com/uploads/allimg/160401/1Q440B12-10.jpg)
为“打印全部页”按钮,添加如下代码。
Dim i, icount As Integer
If MsgBox("确认要连续打印所有页吗?", vbYesNo)=7 ThenExit SubElse If
'计算需要打印的总页数icount=Application.WorksheetFunction.Ceiling((Worksheets(2).[a65536].(xlUp).row - 2) / 30, 1)'指定从第一页开始打印Range("P2").Value=1'循环打印每一页For i=1 To icountRange("P2").Value=iRange("L1").Value="第 " & i & " 页"ActiveWindow.SelectedSheets.PrintOut'打印指定区域Next i'恢复参数Range("p2").Value=1Range("l1").Value=""
如图所示:
![如何利用excel快捷打印考签:[2]:预览与打印](http://www.52ij.com/uploads/allimg/160401/1Q440K45-11.jpg)
为“打印指定页”按钮,添加如下代码。
Dim iget, icount As Integericount=Application.WorksheetFunction.Ceiling((Worksheets(2).[a65536].(xlUp).row - 2) / 30, 1)iget=InputBox("共" & icount & "页 " & "请输入要打印的页码:", "提示", 1)If iget > icount Or iget < 1 ThenMsgBox "请检查指定的页码是否超出范围,应为1---" & icount & "页", vbOKOnlyExit SubElseRange("p2").Value=Int(iget)Range("l1").Value="第 " & Int(iget) & " 页"ActiveWindow.SelectedSheets.PrintOut’打印指定区域
If
![如何利用excel快捷打印考签:[2]:预览与打印](http://www.52ij.com/uploads/allimg/160401/1Q4402038-12.jpg)
最后,我们预览下效果:单击“预览指定页”,在弹出的对话框中输入要预览的页码,确定就可以预览打印效果了。(注:考签的总页数是vba代码通过排考名单中的总人数自动计算出来的,无需人工设定。如果你的输入的页码超出范围,会有错误提示,让你重新输入,从这里可以看出vba代码的优越性。),效果如图所示:
![如何利用excel快捷打印考签:[2]:预览与打印](http://www.52ij.com/uploads/allimg/160401/1Q44055J-13.jpg)
![如何利用excel快捷打印考签:[2]:预览与打印](http://www.52ij.com/uploads/allimg/160401/1Q4402591-14.jpg)
注意事项
如果单击按钮没有反应,择需要打开启动项。2007版以上的打开文件在菜单下方会有显示。2003版的打开文件时会有启动宏的提示,选择启动宏就是,如果没有启动宏的提示则需要把安全级别设为中。在使用的过程中如果有什么问题,可以回复信息,我们共同探究。如何利用excel快捷打印考签(共2篇)上一篇:考签模板设计经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。作者声明:本文系本人依照真实经历原创,未经许可,谢绝转载。- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
