在日常打印报表的时候,可能会遇到这种情况,每页打印的数据都有指定的行数,例如下面这个销售表,要求将每周的数据打印在一页,相当于包含标题行,每页都是八行数据:
?
如果你遇到这种问题,会怎么处理的呢?
方法一:手动添加分页符
如果数据少,只有几页,这个方法是可以的,但是数据多的话,估计你会受不了。
方法二:调整页边距,控制每页的行数
这个方法比较考验耐心了,通过若干次调试,有可能会符合要求,可是每次都要这样调整,好像也不是一件愉快的事情。
方法三:使用VBA来实现固定行数分页打印
以上三种方法只有最后这种方法比较科学, VBA怎么用先不说,但每次要根据行数来修改代码,就不是一般人愿意的。
其实还有一种更加方便而且更容易学会的方法来完成这个麻烦的工作,我们一起来看看是如何操作的吧。
第一步:在数据后面使用公式=INT(ROW(A7)/7)下拉,得到一列数字:
?
可以看出,得到的数字是7个一组,因为ROW函数可以得到行号,ROW(A7)结果就是7,用这个数字除以7,再用INT函数取整,最后的结果就是7个一组的数列。
本例中我们是每页7行数据,如果每页要变成20行,只需要将公式修改为=INT(ROW(A20)/20),非常方便。
在进行下一步操作之前,先把这列公式得到的数据选择性粘贴为数值,下面我们使用分类汇总来添加分页符。
第二步:使用分类汇总添加分页符
选中H列,点击分类汇总,会弹出一个对话框,因为这一列没有表头,直接点击确定即可:
?
在弹出的选项中,其他都不需要修改设置,只要把【每组数据分页】这个选项打钩即可:
?
点击确定按钮,效果如图所示:
?
到这一步,分页符已经添加完成了,剩下要做的就是一些排版美化工作。
第三步:删除多余的列和空行
删除H和I列数据,然后选择A列,按F5打开定位对话框:
?
打开【定位条件】,选中【空值】后确定:
?
不要点击任何单元格,直接右键,删除:
?
选择删除整行:
?
第四步:清除分级显示,添加打印标题行
点击【数据】-【取消组合】-【清除分级显示】:
?
再点击【页面布局】-【打印标题】,在“顶端标题行”中选择第一行完成设置:
?
好了,现在让我们来预览看看效果吧。
?
每一页都是只有7行,非常统一哦。
……