Excel数据表分页汇总与批量打印
(图片较大,请拉动滚动条观看)
处理过程:
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)。