EXCEL打印预览中如何做到自动精准分页

很多excel工作者在打印预览多页内容时,发现往往有分页线不精准的问题,于是只能手工调整。页数少的话还可以,但如果页数很多,手工调整起来费时费力。朋友们看下面表一的E列中分页线没有处于第13考场和第12考场之间。这时我们把鼠标放到分页线上,按下鼠标左键分页线拖到第12考场和第13考场之间,即把分页线放到第32行的上面。

表一

这时Excel会随之自动把下面的分页线作智能改变,也会向下移动,但是大多数情况下,每个班的人数是不一样的,当我们把滚动条往下拉时,发现第12考场和第11考场的分页线并没有处于我们理想的位置,而是如下表这样的:

表二

怎么办?不用说,再作手工调整。然后滚动条再往下拉,发现第11考场和第10考场的分页线也没有正好处于两考场中间:

表三

怎么办?好像没有别的办法。难以想象如果大点的企业报表,动则上百页的打印,难道也这样手工调整啊!费时费力不说,关键是眼花呀,一旦弄错事情可大可小啊!

其实利用excel的VBA代码可以轻易解决这个问题。下面跟小蕃一起来看看吧。什么?你不懂VBA,没有听说过?没有关系啦。如果不想去理解,会复制粘贴就能实现功能的了。如果是高手就绕过吧。

第一、进行使用VBA代码前的准备操作:

第二、复制代码实现精准分页:

VBA编辑器窗口

Sub按考场自动精准分页()

'一、定义变量和初始值

Dimi,j,k,t1,t

j=1

i=4

k=2

'二、取得占有单元格的列数和行数

t1='取得列数

t='取得行数

'三、先设置打印预览

=xlPageBreakPreview

'四、设置按考场调整分页符,即同一考场打印在同一页内

DoWhileCells(i,5)""

IfCells(i,5)Cells(i-1,5)Then

(j).Location=Cells(i,1)

j=j+1

If

i=i+1

Loop

Sub

3、【特别提醒】本例中的考试号在第5列,也就是E列,如果朋友们的工作表中,排序基准列不是E列,比如说在H列,那么H列在EXCEL中是就是左边数过来第8列。这时你要把上面代码中的第四部分中的数字“5”,改成“8”。改好后,也别急着去执行代码,还要做下面两步。

第三、按考场号排序。小蕃这里用的降序排序,所以大号的考场在前,号小的考场在后。

版权声明:本站所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,不声明或保证其内容的正确性,如发现本站有涉嫌抄袭侵权/违法违规的内容。请举报,一经查实,本站将立刻删除。

相关推荐