a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 148|回复: 1

[Excel2003] 2011年职称计算机考试Excel2003辅导资料13

[复制链接]
发表于 2012-8-2 09:39:45 | 显示全部楼层 |阅读模式
用公式批量提取数据信息( ?* O) d3 k5 A2 w9 V! N6 H* ]
假设在一个Excel工作簿中有N个企业基本情况登记表,不同工作表中分别保存了各个企业的基本情况数据,工作表格式都一致,名称分别为Sheet1、Sheet2直到SheetN。Sheet1表中企业基本情况表,从该表中可以看到,企业名称、负责人姓名和联系电话等数据分散在B2、B4及G4单元格中。如何提取各表中企业名称、负责人姓名和联系电话等内容,并将提取的内容制成表格?
4 M+ f$ A: s' K3 d% F一、新建工作表9 C- C* i" J2 a+ u3 g& m
在工作簿中插入一个新工作表,并将该工作表命名为“通讯录”,合并A1—D1单元格,在合并后的单元格中输入“全市建筑企业负责人联系电话”。分别在A2、B2、C2、D2单元格中输入“序号”、“企业名称”、“负责人”、“联系电话”等字段。
" b7 L# l( [, X6 n. F二、输入公式6 b! [. ^  {9 A# S1 w( Z
在序号列中填充序号,在B3单元格中输入公式:“= INDIRECT("Sheet"&ROW()-2&"!$B$2")”。公式中INDIRECT函数返回由文字串指定的引用。ROW()返回所在单元格的行号,"Sheet"&ROW()-2&"!$B$2"为要引用的单元格,该公式含义为返回Sheet1表中B2单元格的值。同样道理在C3及D3单元格中分别输入“=INDIRECT("Sheet"&ROW()-2&"!$B$4")”、“=INDIRECT("Sheet"&ROW()-2&"!$G$4")”。上述公式中单元格引用要使用绝对引用,否则会导致错误的结果。公式输入完成后,选中A3:D3单元格区域,将鼠标指向D3单元格右下角的填充柄,将公式向下拖动复制到相应数据区域。这样,一份精致的表格就呈现在你面前了。
; d% Z  z  r) ^7 ]0 T三、批量命名工作表% }9 f+ ^$ P  K0 h! x& e5 I
如果各工作表名称无规律,如“一建公司表”、“路桥公司表”等,使用公式前还需将所有表名称统一为默认的表名,当然表数量不多,用手工命名也可以,如果工作表数量很多,批量命名则要使用VBA代码了。具体实现方法如下:执行“工具→宏→Visul Basic编辑器”命令或按下Alt+F11组合键,在Visul Basic编辑器中选择“插入→添加模块”,在代码窗口输入以下代码:
2 B! z9 r# a5 ~- U  oSub 工作表命名()
8 k) @8 m- A4 BDim Sh As Worksheet: [+ l- i. u/ ~4 k! i! v
For Each Sh In Worksheets
' c6 c; P* k) R" [8 lSh.Name = Sh.CodeName+ ], {* U$ p" l1 a, I4 F% z0 f' `
Next
$ m8 T1 o  X& K% Y% ^End Sub
4 {1 z( h, u) S3 \# b' `
% o; D4 C% R2 \输入完成后,关闭VBA窗口,返回到工作表编辑窗口,在Excel文档中执行宏即可。将工作表名称统一后,再按照步骤一和二介绍的方法,提取表格中的数据。怎么样,是不是很简单?
回复

使用道具 举报

 楼主| 发表于 2012-8-2 09:39:46 | 显示全部楼层

2011年职称计算机考试Excel2003辅导资料13

</p>数据分类汇总,一键轻松搞定% N' Z1 }' }" c5 d$ }0 e. t( A/ P
对于大型的数据表要进行分类汇总,以前我采用“自动筛选”的办法来实现的,但这样既麻烦,又容易出现错误。经过摸索,发现用“宏”可以实现批量筛选和打印,一键搞定了分类汇总和打印!- {) Y0 X# {" S3 q) m
一、数据汇总! G+ B' H' M9 S/ j
选中F1002单元格(此处假定有1000条数据),输入公式:=SUBTOTAL(9,F3:F1002),确认一下,统计出“面积”总和。然后再次选中F1002单元格,将鼠标移至该单元格右下角,成细十字线状时,按住左键向右拖拉至H1002单元格,将上述公式复制到H1002单元格中,统计出“造价”总和。; {: o* m% Q7 s/ e
小提示:修改函数“SUBTOTAL”中的第一个参数(“9”),可以实现求平均(AVERAGE—1)、计数(COUNT—2)等统计目的(具体请看该函数的帮助)。, X; D- H. e4 F& o) X$ ]2 ]9 G, C$ @
二、编辑宏5 h0 j1 q; D+ Y: j9 w6 M. H
切换到Sheet2工作表中,在A1至A10单元格中输入工程“类型”名称(此处的“1”和“10”与下述代码中的循环起、止数值相同)。按下“Alt+F11”组合键,进入“Visual Basic编辑”状态,执行“插入模块”命令,插入一个新模块(“模块1”)。将下述代码输入到“模块1”右侧的编辑区域中:
0 P2 y, q9 Y3 o& |# {小提示:在上述代码中,每一行英文单引号“'”及其后面的字符,是对代码的解释,在实际输入时可不输入。2 _9 u  V7 `% N' _# V0 G0 w6 d: T
输入完成后,关闭“Visual Basic编辑”窗口,返回工作表中。
/ Q$ H0 ^) A; g; _5 V0 O& B3 G4 Q6 z/ g5 ~* X4 j
三、制作按钮
: n& C6 ]5 F; T# @8 W$ Y执行“视图工具栏控件工具箱”命令,展开“控件工具箱”,单击“工具箱”中的“命令按钮”按钮,然后在表格中拖拉出一个按钮来。右击刚才添加的按钮,在随后弹出的快捷菜单中,选择“属性”选项,展开“属性”对话框。切换到“按分类序”标签下,展开“外观”选项,将“Caption”选项后面的字符修改为“分类打印”。再展开“杂项”选项,将“PrintObject”选项设置为“False”,设置完成后,关闭“属性”对话框。+ ?; p5 T& }: r: J- l
小提示:将“PrintObject”选项设置为“False”的目的是:在打印时,该按钮不被打印出来;否则(设置成True)按钮会打印到纸张上,影响表格效果。
( r2 s3 m  [$ I8 q* x5 m; d双击刚才添加的命令按钮,再次进入“Visual Basic编辑”状态,将下述代码输入右侧的区域中:  u, P& _' x# l% c& Z
Private Sub CommandButton1_Click(). x4 ~1 {# k4 P7 \7 F% K( [5 F
分类汇总打印 '此处字符必须与上述宏名称一致; j# m3 l# X; h1 ~6 ~) R7 M
End Sub$ u* M) C0 N& ]! e* j' a8 _0 J
输入完成后,关闭“Visual Basic编辑”窗口,返回工作表中。像调整图形大小一样,调整好命令按钮的大小,然后将其定位在表格的合适位置上,再按下“工具箱”上的“退出设计模式”按钮。
( N, p2 b3 l; \7 i# O5 Y当需要分类打印时,只要单击表格中的“分类打印”按钮即可快速获得。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-13 01:03 , Processed in 0.360210 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表