对于大型的数据表要进行分类汇总,以前我采用“自动筛选”的办法来实现的,但这样既麻烦,又容易出现错误。经过摸索,发现用“宏”可以实现批量筛选和打印,一键搞定了分类汇总和打印!
S; n8 P: H/ J) K2 M5 v 一、数据汇总
2 B! D- i8 S* c0 v4 c 选中F1002单元格(此处假定有1000条数据),输入公式:=SUBTOTAL(9,F3:F1002),确认一下,统计出“面积”总和。然后再次选中F1002单元格,将鼠标移至该单元格右下角,成细十字线状时,按住左键向右拖拉至H1002单元格,将上述公式复制到H1002单元格中,统计出“造价”总和。 . ~' f5 B5 _2 U' v# R' J$ x3 K
小提示:修改函数“SUBTOTAL”中的第一个参数(“9”),可以实现求平均(AVERAGE—1)、计数(COUNT—2)等统计目的(具体请看该函数的帮助)。 3 L- A" e ~$ J: `! ]/ x
二、编辑宏
4 u" y$ n/ C2 q3 @ 切换到Sheet2工作表中,在A1至A10单元格中输入工程“类型”名称(此处的“1”和“10”与下述代码中的循环起、止数值相同)。按下“Alt+F11”组合键,进入“Visual Basic编辑”状态,执行“插入模块”命令,插入一个新模块(“模块1”)。将下述代码输入到“模块1”右侧的编辑区域中: " \0 ~. N, o* K. k+ l$ G" R: I! F
小提示:在上述代码中,每一行英文单引号“'”及其后面的字符,是对代码的解释,在实际输入时可不输入。 , b4 w+ P; o0 e
输入完成后,关闭“Visual Basic编辑”窗口,返回工作表中。 2 Q' k+ R/ n: Q! S# S
三、制作按钮 & F: ?. k) j l8 ^% N4 G y7 G. u
执行“视图工具栏控件工具箱”命令,展开“控件工具箱”,单击“工具箱”中的“命令按钮”按钮,然后在表格中拖拉出一个按钮来。右击刚才添加的按钮,在随后弹出的快捷菜单中,选择“属性”选项,展开“属性”对话框。切换到“按分类序”标签下,展开“外观”选项,将“Caption”选项后面的字符修改为“分类打印”。再展开“杂项”选项,将“PrintObject”选项设置为“False”,设置完成后,关闭“属性”对话框。 ' i2 \0 \0 c0 @- t0 ^4 W6 C
小提示:将“PrintObject”选项设置为“False”的目的是:在打印时,该按钮不被打印出来;否则(设置成True)按钮会打印到纸张上,影响表格效果。 : v1 }. h1 f2 ] x5 G
双击刚才添加的命令按钮,再次进入“Visual Basic编辑”状态,将下述代码输入右侧的区域中:
, j3 D1 g3 R P, x, J Private Sub CommandButton1_Click()
, m; r J! o5 W. l) [ 分类汇总打印 '此处字符必须与上述宏名称一致 . J8 A$ R6 Q& W( W' z
End Sub
/ H$ U- h+ `8 G 输入完成后,关闭“Visual Basic编辑”窗口,返回工作表中。像调整图形大小一样,调整好命令按钮的大小,然后将其定位在表格的合适位置上,再按下“工具箱”上的“退出设计模式”按钮。 1 E9 B7 h: h$ e3 Z4 a- A
当需要分类打印时,只要单击表格中的“分类打印”按钮即可快速获得。 |