浏览器之家


Excel数据表分页汇总与批量打印

  图1是一份普通的Excel数据表,我们现在需要将其打印成如图2所示的样式,如果采取手工复制、粘贴的做法,不仅操作麻烦,而且容易出现错误。为此,笔者在此给出一种较为简便的解决方法,供大家参考。文章末尾提供.xls文件供大家下载参考。



(图片较大,请拉动滚动条观看)

  处理过程:

  1、启动Excel2003(其他版本请大家仿照操作),打开数据表。

  2、切换到Sheet2工作表中,仿照图2所示的样式,制作好需要打印的表格表头的表尾。

  3、选中A4单元格,输入公式:=A3+1,并用“填充柄”将其公式复制到A5至A22单元格中(此处假定每页打印20行数据)。

  4、分别选中B3至H3单元格,依次输入公式:=IF(ISERROR(VLOOKUP($A3,数据!A:H,2,FALSE)),"",VLOOKUP($A3,数据!A:H,2,FALSE))、=IF(ISERROR(VLOOKUP($A3,数据!A:H,3,FALSE)),"",VLOOKUP($A3,数据!A:H,3,FALSE))……=IF(ISERROR(VLOOKUP($A3,数据!A:H,8,FALSE)),"",VLOOKUP($A3,数据!A:H,8,FALSE))。

  5、同时选中B3—H3单元格区域,用“填充柄”将上述公式复制到B4至H22单元格中。

  6、分别选中E23和F23单元格,输入公式:=SUM(E3:E22)和=SUM(F3:F22),用于统计当页工程的“建筑面积”和“造价”,达到分页汇总的目的。

  7、执行“工具→宏→Visual Basic编辑器”命令,进入VBA编辑状态(如图3)。

  注意:按下“Alt+F11”组合键,也可以快速进入VBA编辑状态。

  8、选中“工程.xls”工作簿名称,执行“插入→模块”命令,插入一个新模块(模块1),然后将下述代码输入到右侧的空白区域中:

  Sub 分页打印()
  x = InputBox("请输入打印起始页码") '设置打印起始页码
  y = InputBox("请输入打印结束页码") '设置打印结束页码
  For i = x To y '设置一个循环
    Cells(3, 1) = 20 * (i - 1) + 1 '在A3单元格中输入一个序号
    ActiveWindow.SelectedSheets.PrintOut '执行一次打印操作
  Next '进入下一个循环
  End Sub

  注意:在上述代码中,英文单引号“'”及后面的字符是对代码的解释,在实际输入的时候不需要输入。

  9、输入完成后,关闭VBA编辑窗口,返回工作表中。

  10、执行“视图→工具栏→控件工具箱”命令,展开“控件工具箱”工具条(如图4)。

  11、单击工具条上的“命令按钮”按钮,然后在工作表中拖拉一下,画出一个命令按钮。

  12、右击命令按钮,在随后出现的快捷菜单中,选择“属性”选项,打开“命令按钮属性”设置框(如图5)。


评论

没安装畅言模块