Excel的打印-按照奇偶页数来打印
Excel的打印-按照奇偶页数来打印
点击上方“Excel和VBA”,选择“置顶公众号”
致力于原创分享Excel的相关知识,源码,源文件打包提供
一起学习,一起进步~~
最近有小伙伴们提到了关于Excel的打印,在之前呢,我也是接触过Excel的打印
但是对于这一方面实际的使用场景,还是比较的模糊,而这次正好有小伙伴提到了这个需求
打印需求暂时和我们另外一个系列Excel VBA 有没有太大的联系,所以我们就放在这里来和大家分享下
如何操作Excel的打印。
说到Excel的打印,肯定小伙伴就会不屑啦,Excel的打印,谁不会啊,我还知道快捷键CTRL+P呢
莫方,莫方,静下心来且听我慢慢道来
常规的Excel的打印呢,是这样的界面
可以设置的参数,都展示在左边了,但是并没有我们要设置的场景,我们要设置的场景是怎么样的呢?
按照奇数页或者偶数页将数据打印出来
听说2010的Excel可以设置奇数页/偶数页单独打印,但是设置也是比较的麻烦
所以这里我们直接学习一下VBA的用法
非常的方便,可以免去中间很多的设置过程
废话不多说,我们直接看看代码
代码区
Sub 奇偶页分别打印()
Dim i%, Ps%
Ps = ExecuteExcel4Macro("GET.DOCUMENT(50)") '总页数
MsgBox "现在打印奇数页,按确定开始."
For i = 1 To Ps Step 2
ActiveSheet.PrintOut from:=i, To:=i
Next i
'MsgBox "现在打印偶数页,按确定开始."
'For i = 2 To Ps Step 2
'ActiveSheet.PrintOut from:=i, To:=i
'Next i
End Sub
代码已经奉上,是不是很简单
大家更想要看到的是实现的效果吧,这里我们就来测试下。
这里呢,我们提前copy好了5份代码,并且按照预设的打印纸的大小,分好了位置,最终的效果就是
一个代码块是打印在一个打印纸上的
那么这里我们来验证下
我们现在验证下我们只打印奇数页,也就是打印出来的,应该是test1,test3,test5
这三个模块,来看看实际效果
我们可以看到,他是连着打出来了3张,并且正好是我们之前所说的,对应三个模块
分别是test1,test3,test5
那么我们如何尝试下打出偶数页的呢?
那就是test2,test4咯
测试下
现在就变成仅打印出来2张了,非常的完美。
代码解析
那么我们来看看代码
其实,今天的代码还是很简单的, 我们来看看
唯一一个比较困难,比较难理解地方已经做好了备注了
那就是获取当前Excel的打印页面的总页数
Ps = ExecuteExcel4Macro("GET.DOCUMENT(50)") '总页数
他的作用就和他的代码备注一样,非常直接
就是得到当前打印的总页数,只有知道了从页数,才可以知道这个奇数,偶数到底是多少结尾
比方说你有100张,你奇数就是一直持续到50张,而如果你有5张,那奇数就只有3张了。
所以结果要根据这个总页数来决定的
那么有了总页数之后,就很简单了。
后面就是遍历循环即可
怎么样,VBA是不是很神通广大呢
好了,明晚21:00,准时再见!
因为公众号没有留言功能(开的比较晚),所以建立一个线下微信群,主要为大家提供一个交流的平台,同时大家也可以提一些对公众号的意见和看法,大家一起学习,一起进步。