Excel VBA 每日一场景 Excel的打印-按照奇偶页数来打印

Excel VBA 每日一场景 Excel的打印-按照奇偶页数来打印
2021年05月04日 10:30 晓雯子16

最近有小伙伴们提到了关于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 iEnd Sub

代码已经奉上,是不是很简单

大家更想要看到的是实现的效果吧,这里我们就来测试下。

这里呢,我们提前copy好了5份代码,并且按照预设的打印纸的大小,分好了位置,最终的效果就是

一个代码块是打印在一个打印纸上的

那么这里我们来验证下

我们现在验证下我们只打印奇数页,也就是打印出来的,应该是test1,test3,test5

这三个模块,来看看实际效果

我们可以看到,他是连着打出来了3张,并且正好是我们之前所说的,对应三个模块

分别是test1,test3,test5

那么我们如何尝试下打出偶数页的呢?

那就是test2,test4咯

测试下

现在就变成仅打印出来2张了,非常的完美。

代码解析

那么我们来看看代码

其实,今天的代码还是很简单的,我们来看看

唯一一个比较困难,比较难理解地方已经做好了备注了

那就是获取当前Excel的打印页面的总页数

Ps = ExecuteExcel4Macro("GET.DOCUMENT(50)") '总页数

他的作用就和他的代码备注一样,非常直接

就是得到当前打印的总页数,只有知道了从页数,才可以知道这个奇数,偶数到底是多少结尾

比方说你有100张,你奇数就是一直持续到50张,而如果你有5张,那奇数就只有3张了。

所以结果要根据这个总页数来决定的

那么有了总页数之后,就很简单了。

后面就是遍历循环即可

怎么样,VBA是不是很神通广大呢

财经自媒体联盟更多自媒体作者

新浪首页 语音播报 相关新闻 返回顶部