求大侠帮忙:如何把EXCEL宏指定给单元格,在指定的单元格录入一个数字(比如1)就执行宏。

2024-05-19 01:41

1. 求大侠帮忙:如何把EXCEL宏指定给单元格,在指定的单元格录入一个数字(比如1)就执行宏。

把代码放到对应的工作表中(如你指定的sheet1),使用change事件,比如cells(2,8)
Private Sub Worksheet_Change(ByVal Target As Range)if target.row=2 and target.column=8 then   Sheet1.Cells(2, 2) = Sheet1.Cells(2, 3)   Sheet1.Cells(2, 3) = Sheet1.Cells(2, 4)   Sheet1.Cells(2, 4) = Sheet1.Cells(2, 5)   Sheet1.Cells(2, 5) = Sheet1.Cells(2, 6)   Sheet1.Cells(2, 6) = Sheet1.Cells(2, 7)end ifEnd Sub

求大侠帮忙:如何把EXCEL宏指定给单元格,在指定的单元格录入一个数字(比如1)就执行宏。

2. Excel中如何实现在单元格输入1、2、3……简单数字便可自动变成对应的字符串,如“张三”“李四”等

1.这个用自动更正非常简单。

工具-自动更正选项-
替换1为张三,添加
替换2为李四,添加
替换3为王五,添加
.....

然后在单元格里面只输入1.回车后这个单元格自动变成了"张三"。(输入21是不会变成"李四张三"的)
用完最好删除,否则会影响正常的数据输入。
或者使用001这样的字符串来表示会好一点。因为正常的数字是不会保留前面的0的。

2.另外如果数据量大。可以使用宏来添加自动更正和删除自动更正。

Alt+F11,进入编辑界面。菜单插入-模块,将下面的代码复制到光标处。
*******************
Sub 添加自动更正()
With Application.AutoCorrect
.AddReplacement "1", "张1"
.AddReplacement "2", "张2"
.AddReplacement "3", "张3"
.AddReplacement "4", "张4"
.AddReplacement "5", "张5"
.AddReplacement "6", "张6"
End With
End Sub
Sub 删除自动更正()
With Application.AutoCorrect
.DeleteReplacement "1"
.DeleteReplacement "2"
.DeleteReplacement "3"
.DeleteReplacement "4"
.DeleteReplacement "5"
.DeleteReplacement "6"
End With
End Sub

******************
回到Excel,Alt+F8选择"添加自动更正",运行。

然后在单元格分别输入1,2,3,4,5,6就会变成后面相应的名字。结构挺简单,可以自己多放一些。

输入完后,Alt+F8,运行"删除自动更正"就行了。

3.其实这个问题,如果不是非要输入后就自动替换了,还是用Vlookup公式最好了。还能保留编码名字对照表。

简历一个"信息"工作表A:B列内容
1 张1
2 张2
3 张3
4 张4
5 张5
6 张6

然后在你要输入的工作表单元格后面,例如在A列输入序号,B1输入公式
=if(countif('信息'!A:A,A1),Vlookup(A1,'信息'!A:B,2,0),"")

向下填充公式就行了。

3. 用宏实现EXCEL怎样按照单元格内数字,插入相应行数,并复制

Sub copy_by_zzllrr()    Application.ScreenUpdating = False    Dim n, m, a    n = Range("A1").End(xlDown).Row    For i = 2 To n        m = Range("D" & i)        a = Columns(1).Find("*", , , , 1, 2).Row        Range("A" & i & ":D" & i).copy Range("A" & a + 1 & ":D" & a + m)    Next i    Rows("2:" & n).DeleteEnd Sub

用宏实现EXCEL怎样按照单元格内数字,插入相应行数,并复制

4. 请问:在Excel中怎样操作实现以下效果? 即:在H(或其他位置)中输入的数字串,能在ABCDEHG找到排列。

把这些掌握就差不多了

一、建立分类下拉列表填充项 

我们常常要将企业的名称输入到表格中,为了保持名称的一致性,利用“数据有效性”功能建了一个分类下拉列表填充项。

1.在Sheet2中,将企业名称按类别(如“工业企业”、“商业企业”、“个体企业”等)分别输入不同列中,建立一个企业名称数据库。 

2.选中A列(“工业企业”名称所在列),在“名称”栏内,输入“工业企业”字符后,按“回车”键进行确认。

仿照上面的操作,将B、C……列分别命名为“商业企业”、“个体企业”……

3.切换到Sheet1中,选中需要输入“企业类别”的列(如C列),执行“数据→有效性”命令,打开“数据有效性”对话框。在“设置”标签中,单击“允许”右侧的下拉按钮,选中“序列”选项,在下面的“来源”方框中,输入“工业企业”,“商业企业”,“个体企业”……序列(各元素之间用英文逗号隔开),确定退出。 

再选中需要输入企业名称的列(如D列),再打开“数据有效性”对话框,选中“序列”选项后,在“来源”方框中输入公式:=INDIRECT(C1),确定退出。

4.选中C列任意单元格(如C4),单击右侧下拉按钮,选择相应的“企业类别”填入单元格中。然后选中该单元格对应的D列单元格(如D4),单击下拉按钮,即可从相应类别的企业名称列表中选择需要的企业名称填入该单元格中。

提示:在以后打印报表时,如果不需要打印“企业类别”列,可以选中该列,右击鼠标,选“隐藏”选项,将该列隐藏起来即可。

二、建立“常用文档”新菜单

在菜单栏上新建一个“常用文档”菜单,将常用的工作簿文档添加到其中,方便随时调用。
1.在工具栏空白处右击鼠标,选“自定义”选项,打开“自定义”对话框。在“命令”标签中,选中“类别”下的“新菜单”项,再将“命令”下面的“新菜单”拖到菜单栏。

按“更改所选内容”按钮,在弹出菜单的“命名”框中输入一个名称(如“常用文档”)。 2.再在“类别”下面任选一项(如“插入”选项),在右边“命令”下面任选一项(如“超链接”选项),将它拖到新菜单(常用文档)中,并仿照上面的操作对它进行命名(如“工资表”等),建立第一个工作簿文档列表名称。

重复上面的操作,多添加几个文档列表名称。

3.选中“常用文档”菜单中某个菜单项(如“工资表”等),右击鼠标,在弹出的快捷菜单中,选“分配超链接→打开”选项,打开“分配超链接”对话框。通过按“查找范围”右侧的下拉按钮,定位到相应的工作簿(如“工资.xls”等)文件夹,并选中该工作簿文档。

重复上面的操作,将菜单项和与它对应的工作簿文档超链接起来。

4.以后需要打开“常用文档”菜单中的某个工作簿文档时,只要展开“常用文档”菜单,单击其中的相应选项即可。

提示:尽管我们将“超链接”选项拖到了“常用文档”菜单中,但并不影响“插入”菜单中“超链接”菜单项和“常用”工具栏上的“插入超链接”按钮的功能。

三、让不同类型数据用不同颜色显示

在工资表中,如果想让大于等于2000元的工资总额以“红色”显示,大于等于1500元的工资总额以“蓝色”显示,低于1000元的工资总额以“棕色”显示,其它以“黑色”显示,我们可以这样设置。

1.打开“工资表”工作簿,选中“工资总额”所在列,执行“格式→条件格式”命令,打开“条件格式”对话框。单击第二个方框右侧的下拉按钮,选中“大于或等于”选项,在后面的方框中输入数值“2000”。单击“格式”按钮,打开“单元格格式”对话框,将“字体”的“颜色”设置为“红色”。

2.按“添加”按钮,并仿照上面的操作设置好其它条件(大于等于1500,字体设置为“蓝色”;小于1000,字体设置为“棕色”)。

3.设置完成后,按下“确定”按钮。 看看工资表吧,工资总额的数据是不是按你的要求以不同颜色显示出来了。

四、制作“专业符号”工具栏

在编辑专业表格时,常常需要输入一些特殊的专业符号,为了方便输入,我们可以制作一个属于自己的“专业符号”工具栏。 

1.执行“工具→宏→录制新宏”命令,打开“录制新宏”对话框,输入宏名如“fuhao1”并将宏保存在“个人宏工作簿”中,然后“确定”开始录制。选中“录制宏”工具栏上的“相对引用”按钮,然后将需要的特殊符号输入到某个单元格中,再单击“录制宏”工具栏上的“停止”按钮,完成宏的录制。

仿照上面的操作,一一录制好其它特殊符号的输入“宏”。

2.打开“自定义”对话框,在“工具栏”标签中,单击“新建”按钮,弹出“新建工具栏”对话框,输入名称——“专业符号”,确定后,即在工作区中出现一个工具条。

切换到“命令”标签中,选中“类别”下面的“宏”,将“命令”下面的“自定义按钮”项拖到“专业符号”栏上(有多少个特殊符号就拖多少个按钮)。

3.选中其中一个“自定义按钮”,仿照第2个秘技的第1点对它们进行命名。

4.右击某个命名后的按钮,在随后弹出的快捷菜单中,选“指定宏”选项,打开“指定宏”对话框,选中相应的宏(如fuhao1等),确定退出。

重复此步操作,将按钮与相应的宏链接起来。

5.关闭“自定义”对话框,以后可以像使用普通工具栏一样,使用“专业符号”工具栏,向单元格中快速输入专业符号了。

五、用“视面管理器”保存多个打印页面

有的工作表,经常需要打印其中不同的区域,用“视面管理器”吧。

1.打开需要打印的工作表,用鼠标在不需要打印的行(或列)标上拖拉,选中它们再右击鼠标,在随后出现的快捷菜单中,选“隐藏”选项,将不需要打印的行(或列)隐藏起来。

2.执行“视图→视面管理器”命令,打开“视面管理器”对话框,单击“添加”按钮,弹出“添加视面”对话框,输入一个名称(如“上报表”)后,单击“确定”按钮。

3.将隐藏的行(或列)显示出来,并重复上述操作,“添加”好其它的打印视面。

4.以后需要打印某种表格时,打开“视面管理器”,选中需要打印的表格名称,单击“显示”按钮,工作表即刻按事先设定好的界面显示出来,简单设置、排版一下,按下工具栏上的“打印”按钮,一切就OK了。

六、让数据按需排序

如果你要将员工按其所在的部门进行排序,这些部门名称既的有关信息不是按拼音顺序,也不是按笔画顺序,怎么办?可采用自定义序列来排序。

1.执行“格式→选项”命令,打开“选项”对话框,进入“自定义序列”标签中,在“输入序列”下面的方框中输入部门排序的序列(如“机关,车队,一车间,二车间,三车间”等),单击“添加”和“确定”按钮退出。 

2.选中“部门”列中任意一个单元格,执行“数据→排序”命令,打开“排序”对话框,单击“选项”按钮,弹出“排序选项”对话框,按其中的下拉按钮,选中刚才自定义的序列,按两次“确定”按钮返回,所有数据就按要求进行了排序。

七、把数据彻底隐藏起来

工作表部分单元格中的内容不想让浏览者查阅,只好将它隐藏起来了。

1.选中需要隐藏内容的单元格(区域),执行“格式→单元格”命令,打开“单元格格式”对话框,在“数字”标签的“分类”下面选中“自定义”选项,然后在右边“类型”下面的方框中输入“;;;”(三个英文状态下的分号)。

2.再切换到“保护”标签下,选中其中的“隐藏”选项,按“确定”按钮退出。

3.执行“工具→保护→保护工作表”命令,打开“保护工作表”对话框,设置好密码后,“确定”返回。

经过这样的设置以后,上述单元格中的内容不再显示出来,就是使用Excel的透明功能也不能让其现形。

提示:在“保护”标签下,请不要清除“锁定”前面复选框中的“∨”号,这样可以防止别人删除你隐藏起来的数据。

八、让中、英文输入法智能化地出现

在编辑表格时,有的单元格中要输入英文,有的单元格中要输入中文,反复切换输入法实在不方便,何不设置一下,让输入法智能化地调整呢?

选中需要输入中文的单元格区域,执行“数据→有效性”命令,打开“数据有效性”对话框,切换到“输入法模式”标签下,按“模式”右侧的下拉按钮,选中“打开”选项后,“确定”退出。

以后当选中需要输入中文的单元格区域中任意一个单元格时,中文输入法(输入法列表中的第1个中文输入法)自动打开,当选中其它单元格时,中文输入法自动关闭。

九、让“自动更正”输入统一的文本

你是不是经常为输入某些固定的文本,如《电脑报》而烦恼呢?那就往下看吧。

1.执行“工具→自动更正”命令,打开“自动更正”对话框。

2.在“替换”下面的方框中输入“pcw”(也可以是其他字符,“pcw”用小写),在“替换为”下面的方框中输入“《电脑报》”,再单击“添加”和“确定”按钮。

3.以后如果需要输入上述文本时,只要输入“pcw”字符此时可以不考虑“pcw”的大小写,然后确认一下就成了。

十、在Excel中自定义函数

Excel函数虽然丰富,但并不能满足我们的所有需要。我们可以自定义一个函数,来完成一些特定的运算。下面,我们就来自定义一个计算梯形面积的函数:

1.执行“工具→宏→Visual Basic编辑器”菜单命令(或按“Alt+F11”快捷键),打开Visual Basic编辑窗口。

2.在窗口中,执行“插入→模块”菜单命令,插入一个新的模块——模块1。

3.在右边的“代码窗口”中输入以下代码:

Function V(a,b,h)
V = h*(a+b)/2
End Function

4.关闭窗口,自定义函数完成。

以后可以像使用内置函数一样使用自定义函数。

提示:用上面方法自定义的函数通常只能在相应的工作簿中使用。

十一、表头下面衬张图片

为工作表添加的背景,是衬在整个工作表下面的,能不能只衬在表头下面呢?

1.执行“格式→工作表→背景”命令,打开“工作表背景”对话框,选中需要作为背景的图片后,按下“插入”按钮,将图片衬于整个工作表下面。

2.在按住Ctrl键的同时,用鼠标在不需要衬图片的单元格(区域)中拖拉,同时选中这些单元格(区域)。 3.按“格式”工具栏上的“填充颜色”右侧的下拉按钮,在随后出现的“调色板”中,选中“白色”。
经过这样的设置以后,留下的单元格下面衬上了图片,而上述选中的单元格(区域)下面就没有衬图片了(其实,是图片被“白色”遮盖了)。

提示衬在单元格下面的图片是不支持打印的。

十二、用连字符“&”来合并文本

如果我们想将多列的内容合并到一列中,不需要利用函数,一个小小的连字符“&”就能将它搞定(此处假定将B、C、D列合并到一列中)。

1.在D列后面插入两个空列(E、F列),然后在D1单元格中输入公式:=B1&C1&D1。

2.再次选中D1单元格,用“填充柄”将上述公式复制到D列下面的单元格中,B、C、D列的内容即被合并到E列对应的单元格中。

3.选中E列,执行“复制”操作,然后选中F列,执行“编辑→选择性粘贴”命令,打开“选择性粘贴”对话框,选中其中的“数值”选项,按下“确定”按钮,E列的内容(不是公式)即被复制到F列中。

4.将B、C、D、E列删除,完成合并工作。

提示:完成第1、2步的操作,合并效果已经实现,但此时如果删除B、C、D列,公式会出现错误。故须进行第3步操作,将公式转换为不变的“值”。 

十三、快速打印学生成绩条

常有朋友问“如何打印成绩条”这样的问题,有不少人采取录制宏或VBA的方法来实现,这对于初学者来说有一定难度。出于此种考虑,我在这里给出一种用函数实现的简便方法。

此处假定学生成绩保存在Sheet1工作表的A1至G64单元格区域中,其中第1行为标题,第2行为学科名称。

1.切换到Sheet2工作表中,选中A1单元格,输入公式:=IF(MOD(ROW(),3)=0,〃〃,IF(0MODROW(),3(=1,sheet1!A$2,INDEX(sheet1!$A:$G,INT(((ROW()+4)/3)+1),COLUMN())))。 2.再次选中A1单元格,用“填充柄”将上述公式复制到B1至G1单元格中;然后,再同时选中A1至G1单元格区域,用“填充柄”将上述公式复制到A2至G185单元格中。

至此,成绩条基本成型,下面简单修饰一下。

3.调整好行高和列宽后,同时选中A1至G2单元格区域(第1位学生的成绩条区域),按“格式”工具栏“边框”右侧的下拉按钮,在随后出现的边框列表中,选中“所有框线”选项,为选中的区域添加边框(如果不需要边框,可以不进行此步及下面的操作)。

4.同时选中A1至G3单元格区域,点击“常用”工具栏上的“格式刷”按钮,然后按住鼠标左键,自A4拖拉至G186单元格区域,为所有的成绩条添加边框。

按“打印”按钮,即可将成绩条打印出来。

十四、Excel帮你选函数

在用函数处理数据时,常常不知道使用什么函数比较合适。Excel的“搜索函数”功能可以帮你缩小范围,挑选出合适的函数。

执行“插入→函数”命令,打开“插入函数”对话框,在“搜索函数”下面的方框中输入要求(如“计数”),然后单击“转到”按钮,系统即刻将与“计数”有关的函数挑选出来,并显示在“选择函数”下面的列表框中。再结合查看相关的帮助文件,即可快速确定所需要的函数。

十五、同时查看不同工作表中多个单元格内的数据

有时,我们编辑某个工作表(Sheet1)时,需要查看其它工作表中(Sheet2、Sheet3……)某个单元格的内容,可以利用Excel的“监视窗口”功能来实现。

执行“视图→工具栏→监视窗口”命令,打开“监视窗口”,单击其中的“添加监视”按钮,展开“添加监视点”对话框,用鼠标选中需要查看的单元格后,再单击“添加”按钮。重复前述操作,添加其它“监视点”。

以后,无论在哪个工作表中,只要打开“监视窗口”,即可查看所有被监视点单元格内的数据和相关信息。

十六、为单元格快速画边框

在Excel 2002以前的版本中,为单元格区域添加边框的操作比较麻烦,Excel 2002对此功能进行了全新的拓展。

单击“格式”工具栏上“边框”右侧的下拉按钮,在随后弹出的下拉列表中,选“绘图边框”选项,或者执行“视图→工具栏→边框”命令,展开“边框”工具栏。

单击工具栏最左侧的下拉按钮,选中一种边框样式,然后在需要添加边框的单元格区域中拖拉,即可为相应的单元格区域快速画上边框。

提示:①如果画错了边框,没关系,选中工具栏上的“擦除边框”按钮,然后在错误的边框上拖拉一下,就可以清除掉错误的边框。②如果需要画出不同颜色的边框,可以先按工具栏右侧的“线条颜色”按钮,在随后弹出的调色板中选中需要的颜色后,再画边框即可。③这一功能还可以在单元格中画上对角的斜线。 

十七、控制特定单元格输入文本的长度

你能想象当你在该输入四位数的单元格中却填入了一个两位数,或者在该输入文字的单元格中你却输入了数字的时候,Excel就能自动判断、即时分析并弹出警告,那该多好啊!要实现这一功能,对Excel来说,也并不难。

例如我们将光标定位到一个登记“年份”的单元格中,为了输入的统一和计算的方便,我们希望“年份”都用一个四位数来表示。所以,我们可以单击“数据”菜单的“有效性”选项。在“设置”卡片“有效性条件”的“允许”下拉菜单中选择“文本长度”。然后在“数据”下拉菜单中选择“等于”,且“长度”为“4”。同时,我们再来到“出错警告”卡片中,将“输入无效数据时显示的出错警告”设为“停止”,并在“标题”和“错误信息”栏中分别填入“输入文本非法!”和“请输入四位数年份。”字样。

很显然,当如果有人在该单元格中输入的不是一个四位数时,Excel就会弹出示的警告对话框,告诉你出错原因,并直到你输入了正确“样式”的数值后方可继续录入。神奇吧?其实,在Excel的“数据有效性”判断中,还有许多特殊类型的数据格式可选,比如“文本类型”啊,“序列大小”啊,“时间远近”啊,如你有兴趣,何不自作主张,自己设计一种检测标准,让你的Excel展示出与众不同的光彩呢。

十八、成组填充多张表格的固定单元格

我们知道每次打开Excel,软件总是默认打开多张工作表。由此就可看出Excel除了拥有强大的单张表格的处理能力,更适合在多张相互关联的表格中协调工作。要协调关联,当然首先就需要同步输入。因此,在很多情况下,都会需要同时在多张表格的相同单元格中输入同样的内容。

那么如何对表格进行成组编辑呢?首先我们单击第一个工作表的标签名“Sheet1”,然后按住Shift键,单击最后一张表格的标签名“Sheet3”(如果我们想关联的表格不在一起,可以按住Ctrl键进行点选)。此时,我们看到Excel的标题栏上的名称出现了“工作组”字样,我们就可以进行对工作组的编辑工作了。在需要一次输入多张表格内容的单元格中随便写点什么,我们发现,“工作组”中所有表格的同一位置都显示出相应内容了。

但是,仅仅同步输入是远远不够的。比如,我们需要将多张表格中相同位置的数据统一改变格式该怎么办呢?首先,我们得改变第一张表格的数据格式,再单击“编辑”菜单的“填充”选项,然后在其子菜单中选择“至同组工作表”。这时,Excel会弹出“填充成组工作表”的对话框,在这里我们选择“格式”一项,点“确定”后,同组中所有表格该位置的数据格式都改变了。

十九、改变文本的大小写

在Excel中,为表格处理和数据运算提供最强大支持的不是公式,也不是数据库,而是函数。不要以为Excel中的函数只是针对数字,其实只要是写进表格中的内容,Excel都有对它编辑的特殊函数。例如改变文本的大小写。

在Excel 2002中,至少提供了三种有关文本大小写转换的函数。它们分别是:“=UPPER(源数据格)”,将文本全部转换为大写;“=LOWER(源数据格)”,将文本全部转换成小写;“=PROPER(源数据格)”,将文本转换成“适当”的大小写,如让每个单词的首字母为大写等。例如,我们在一张表格的A1单元格中输入小写的“excel”,然后在目标单元格中输入“=UPPER(A1)”,回车后得到的结果将会是“EXCEL”。同样,如果我们在A3单元格中输入“mr.weiwei”,然后我们在目标单元格中输入“=PROPER(A3)”,那么我们得到的结果就将是“Mr.Weiwei”了。

二十、提取字符串中的特定字符

除了直接输入外,从已存在的单元格内容中提取特定字符输入,绝对是一种省时又省事的方法,特别是对一些样式雷同的信息更是如此,比如员工名单、籍贯等信息。

如果我们想快速从A4单元格中提取称谓的话,最好使用“=RIGHT(源数据格,提取的字符数)”函数,它表示“从A4单元格最右侧的字符开始提取2个字符”输入到此位置。当然,如果你想提取姓名的话,则要使用“=LEFT(源数据格,提取的字符数)”函数了。还有一种情况,我们不从左右两端开始,而是直接从数据中间提取几个字符。比如我们要想从A5单元格中提取“武汉”两个字时,就只须在目标单元格中输入“=MID(A5,4,2)”就可以了。意思是:在A5单元格中提取第4个字符后的两个字符,也就是第4和第5两个字。

二十一、把基数词转换成序数词

将英文的基数词转换成序数词是一个比较复杂的问题。因为它没有一个十分固定的模式:大多数的数字在变成序数词都是使用的“th”后缀,但大凡是以“1”、“2”、“3”结尾的数字却分别是以“st”、“nd”和“rd”结尾的。而且,“11”、“12”、“13”这3个数字又不一样,它们却仍然是以“th”结尾的。因此,实现起来似乎很复杂。其实,只要我们理清思路,找准函数,只须编写一个公式,就可轻松转换了。不信,请看:“=A2&IF(OR(value(RIGHT(A2,2))=),〃th〃,IF(OR(value(RIGHT(A2))=,CHOOSE(RIGHT(A2),〃st〃,〃nd〃,〃rd〃),〃th〃))”。该公式尽管一长串,不过含义却很明确:①如果数字是以“11”、“12”、“13”结尾的,则加上“th”后缀;②如果第1原则无效,则检查最后一个数字,以“1”结尾使用“st”、以“2”结尾使用“nd”、以“3”结尾使用“rd”;③如果第1、2原则都无效,那么就用“th”。因此,基数词和序数词的转换实现得如此轻松和快捷。

二十二、用特殊符号补齐位数

和财务打过交道的人都知道,在账面填充时有一种约定俗成的“安全填写法”,那就是将金额中的空位补齐,或者在款项数据的前面加上“$”之类的符号。其实,在Excel中也有类似的输入方法,那就是“REPT”函数。它的基本格式是“=REPT(“特殊符号”,填充位数)”。

比如,我们要在中A2单元格里的数字结尾处用“#”号填充至16位,就只须将公式改为“=(A2&REPT(〃#〃,16-LEN(A2)))”即可;如果我们要将A3单元格中的数字从左侧用“#”号填充至16位,就要改为“=REPT(〃#〃,16-LEN(A3)))&A3”;另外,如果我们想用“#”号将A4中的数值从两侧填充,则需要改为“=REPT(〃#〃,8-LEN(A4)/2)&A4&REPT(〃#〃)8-LEN(A4)/2)”;如果你还嫌不够专业,要在A5单元格数字的顶头加上“$”符号的话,那就改为:“=(TEXT(A5,〃$#,##0.00〃(&REPT(〃#〃,16-LEN(TEXT(A5,〃$#,##0.00〃))))”,一定能满足你的要求。

二十三、创建文本直方图

除了重复输入之外,“REPT”函数另一项衍生应用就是可以直接在工作表中创建由纯文本组成的直方图。它的原理也很简单,就是利用特殊符号的智能重复,按照指定单元格中的计算结果表现出长短不一的比较效果。

比如我们首先制作一张年度收支平衡表,然后将“E列”作为直方图中“预算内”月份的显示区,将“G列”则作为直方图中“超预算”的显示区。然后根据表中已有结果“D列”的数值,用“Wingdings”字体的“N”字符表现出来。具体步骤如下:

在E3单元格中写入公式“=IF(D3<0,REPT(〃n〃,-ROUND(D3*100,0)),〃〃)”,然后选中它并拖动“填充柄”,使E列中所有行都能一一对应D列中的结果;接着在G3单元格中写入公式“=IF(D3>0,REPT(〃n〃,ROUND(D3*100,0)),〃〃)”,也拖动填充柄至G14。我们看到,一个没有动用Excel图表功能的纯文本直方图已展现眼前,方便直观,简单明了。

二十四、计算单元格中的总字数

有时候,我们可能对某个单元格中字符的数量感兴趣,需要计算单元格中的总字数。要解决这个问题,除了利用到“SUBSTITUTE”函数的虚拟计算外,还要动用“TRIM”函数来删除空格。比如现在A1单元格中输入有“how many words?”字样,那么我们就可以用如下的表达式来帮忙:

“=IF(LEN(A1)=0,0,LEN(TRIM(A1))-LEN(SUBSTITUTE(TRIM(A1),〃,〃,〃〃))+1)”

该式的含义是先用“SUBSTITUTE”函数创建一个新字符串,并且利用“TRIM”函数删除其中字符间的空格,然后计算此字符串和原字符串的数位差,从而得出“空格”的数量,最后将空格数+1,就得出单元格中字符的数量了。

二十五、关于欧元的转换

这是Excel 2002中的新工具。如果你在安装Excel 2002时选择的是默认方式,那么很可能不能在“工具”菜单中找到它。不过,我们可以先选择“工具”菜单中的“加载宏”,然后在弹出窗口中勾选“欧元工具”选项,“确定”后Excel 2002就会自行安装了。

完成后我们再次打开“工具”菜单,单击“欧元转换”,一个独立的专门用于欧元和欧盟成员国货币转换的窗口就出现了。与Excel的其他函数窗口一样,我们可以通过鼠标设置货币转换的“源区域”和“目标区域”,然后再选择转换前后的不同币种即可。所示的就是“100欧元”分别转换成欧盟成员国其他货币的比价一览表。当然,为了使欧元的显示更显专业,我们还可以点击Excel工具栏上的“欧元”按钮,这样所有转换后的货币数值都是欧元的样式了。 

二十六、给表格做个超级搜索引擎

我们知道,Excel表格和Word中的表格最大的不同就是Excel是将填入表格中的所有内容(包括静态文本)都纳入了数据库的范畴之内。我们可以利用“函数查询”,对目标数据进行精确定位,就像网页中的搜索引擎一样。

比如在所示的表格中,从A1到F7的单元格中输入了多名同学的各科成绩。而在A8到A13的单元格中我们则建立了一个“函数查询”区域。我们的设想是,当我们在“输入学生姓名”右边的单元格,也就是C8格中输入任何一个同学的名字后,其下方的单元格中就会自动显示出该学生的各科成绩。具体实现的方法如下:

将光标定位到C9单元格中,然后单击“插入”之“函数”选项。在如图18弹出的窗口中,选择 “VLOOKUP” 函数,点“确定”。在随即弹出的“函数参数”窗口中我们设置“Lookup_value”(指需要在数据表首列中搜索的值)为“C8”(即搜索我们在C8单元格中填入的人名);“Table_array”(指数据搜索的范围)为“A2∶B6”(即在所有学生的“语文”成绩中搜索);“Col_vindex_num”(指要搜索的数值在表格中的序列号)为“2”(即数值在第2列);“Range_lookup”(指是否需要精确匹配)为“FALSE”(表明不是。如果是,就为“TURE”)。设定完毕按“确定”。

5. EXCEL VBA编辑器中,用宏调用一个function函数,function函数的功能是:让它实现在sheet1的A1中入数字1

Function getV()    getV = Sheets("Sheet2").Cells(1, 1).ValueEnd Function在sheet1的A1单元个中输入 = getV()

EXCEL VBA编辑器中,用宏调用一个function函数,function函数的功能是:让它实现在sheet1的A1中入数字1

6. excel宏定义代码

在介绍学习VBA之前,应该花几分钟录制一个宏。

  新术语:“宏”,指一系列EXCEL能够执行的VBA语句。 

  以下将要录制的宏非常简单,只是改变单元格颜色。请完成如下步骤: 

  1)打开新工作簿,确认其他工作簿已经关闭。

  2)选择A1单元格。调出“常用”工具栏。

  3)选择“工具”—“宏”—“录制新宏”。

  4)输入“改变颜色”作为宏名替换默认宏名,单击确定,注意,此时状态栏中显示“录制”,特别是“停止录制”工具栏也显示出来。替换默认宏名主要是便于分别这些宏。

  ★ 宏名最多可为255个字符,并且必须以字母开始。其中可用的字符包括:字母、数字和下划线。宏名中不允许出现空格。通常用下划线代表空格。

  5)选择“格式”的“单元格”,选择“图案”选项中的红色,单击“确定”。

  6)单击“停止录制”工具栏按钮,结束宏录制过程。



  ※ 如果“停止录制”工具栏开始并未出现,请选择“工具”—“宏”—“停止录制”。



  录制完一个宏后就可以执行它了。

 

  1.4 执行宏

 

  当执行一个宏时,EXCEL按照宏语句执行的情况就像VBA代码在对EXCEL进行“遥控”。但VBA的“遥控”不仅能使操作变得简便,还能使你获得一些使用EXCEL标准命令所无法实现的功能。而且,一旦熟悉了EXCEL的“遥控”,你都会奇怪自己在没有这些“遥控”的情况下,到底是怎么熬过来的。要执行刚才录制的宏,可以按以下步骤进行: 

  1)选择任何一个单元格,比如A3。

  2)选择“工具”—“宏”—“宏”,显示“宏”对话框。

  3)选择“改变颜色”,选择“执行”,则A3单元格的颜色变为红色。试着选择其它单元格和几个单元格组成的区域,然后再执行宏,以便加深印象。



  1.5 查看录制的代码



  到底是什么在控制EXCEL的运行呢?你可能有些疑惑.好,让我们看看VBA的语句吧. 

  1)选择“工具”—“宏”—“宏”,显示“宏”对话框。

  2)单击列表中的“改变颜色”,选择“编辑”按钮。 

  此时,会打开VBA的编辑器窗口(VBE)。关于该编辑器,以后再详细说明,先将注意力集中到显示的代码上。代码如下:(日期和姓名会有不同)



Sub 改变颜色()

'

' 改变颜色 Macro

' xw 记录的宏 2000-6-10

'



'

With Selection.Interior

.ColorIndex = 3

.Pattern = xlSolid

.PatternColorIndex = xlAutomatic

End With

End Sub



将来会十分熟悉这种代码,虽然现在它们看上去像一种奇怪的外语。学习VBA或编程语言在某种程度上比较像在学习一种外语。



Sub 改变颜色():这是宏的名称。



中间的以“ '”开头的五行称为“注释”,它在录制宏时自动产生。



以With 开头到End With 结束的结构是With结构语句,这段语句是宏的主要部分。注意单词“selection”,它代表“突出显示的区域”(即:选定区域)。With Selection.Interior :它读作“选择区域的的内部”.这整段语句设置该区域内部的一些“属性”。



其中:



.ColorIndex = 3: 将该内部设为红色。注意:有一小圆点,它的作用在于简化语句,小圆点代替出现在With后的词,它是With结构的一部分。另外:红色被数字化为3.(红色警戒是否可称作:3号警戒,嗯?)有兴趣的话,你将3改为其他数字试试看。



.Pattern = xlSolid:设置该区域的内部图案。由于是录制宏,所以,虽然你并未设置这一项,宏仍然将其记录下来(因为在“图案”选项中有此一项,只是你为曾设置而已)。xlSolid表示纯色。



.PatternColorIndex = xlAutomatic:表示内部图案底纹颜色为自动配色。



End With:结束With 语句。



End Sub:整个宏的结束语



  1.6 编辑录制的代码 

   在上一节,我们录制了一个宏并查看了代码,代码中有两句实际上并不起作用。哪两句?现在,在宏中作一个修改,删除多余行,直到和下面代码相同:



Sub 改变颜色()

'

' 改变颜色 Macro

' xw 记录的宏 2000-6-10

'



'

With Selection.Interior

.ColorIndex = 3

End With

End Sub 



  完成后,在工作表中试验一下。你会发现结果和修改前的状况一样。在With 语句前加入一行:



Range("A5").Select



  试着运行该宏,则无论开始选择哪个单元格,宏运行结果都是使A5单元格变红. 



  现在可以看到,编辑录制的宏同样非常简单。需要编辑宏是因为以下三个方面的原因。一:在录制中出错而不得不修改。二:录制的宏中有多余的语句需要删除,提高宏的运行速度。三:希望增加宏的功能。比如:加入判断或循环等无法录制的语句。



  1.7 录制宏的局限性



  希望自动化的许多EXCEL过程大多都可以用录制宏来完成.但是宏记录器存在以下局限性.通过宏记录器无法完成的工作有: 

  1)录制的宏无判断或循环能力.

  2)人机交互能力差,即用户无法进行输入,计算机无法给出提示.

  3)无法显示EXCEL对话框.

  4)无法显示自定义窗体.



  1.8 小结



  本课中,你已经掌握了VBA的一些基础知识,你会录制宏、编辑宏而且了解了录制宏的局限性.你很努力.并且已经为将来学习VBA甚至VB等编程语言打下了基础.关键是你已经了解了一个谜底,就是说,你了解了什么是编程.下面是些小练习,做完后才可以去玩哟.



  思考:

  1)VBA只能用于EXCEL吗?

  2)VBA是基于哪种语言?

  3)说说EXCEL和VBA的关系.

  4)为什么要用宏? 

第二课 处理录制的宏

2.1 为宏指定快捷键 

  你也许希望为经常使用的宏指定快捷键。快捷键是指键的组合,当其按下时执行一条命令。例如:CTRL C 

  在许多程序中代表“复制”命令。当给宏指定了快捷键后,就可以用快捷键来执行宏,而不必通过“工具”菜单。 

  注意:当包含宏的工作簿打开时间,为宏指定快捷键会覆盖EXCEL默认的快捷键。例如:把CTRL C指定给某个宏,那么CTRL C就不再执行复制命令。用以下方法可以打印出EXCEL的快捷键清单(用A4纸打印共有24页之多): 

  1)打开EXCEL帮助文件并选择“目录”选项。

  2)从“使用快捷键”文件夹中选择“”快捷键“标题。

  3)右击该标题,从快捷菜单中选择“打印”。

  4)选择“打印所选标题和所有子主题”,单击“确定”。

可以在创建宏时指定快捷键,也可以在创建后再指定。要在创建(录制)宏时指定快捷键,只须在录制宏时在输入宏名后,在“快捷键”文本框中输入相应的键。录制宏后指定快捷键也很简单,只需选择“工具”“宏”,显示“宏”对话框,选择要指定快捷键的宏,再单击“选项”按钮,通过“选项”对话框进行设置。



  2.2 决定宏保存的位置 

  宏可保存在三种可能的位置: 

  1)当前工作簿。(只有该工作簿打开时,该宏才可用。)

  2)新工作簿。

  3)个人宏工作簿。



  2.3 个人宏工作簿 

  个人宏工作簿,是为宏而设计的一种特殊的具有自动隐藏特性的工作簿。第一次将宏创建到个人宏工作簿时,会创建名为“PERSONAL.XLS"的新文件。如果该文件存在,则每当EXCEL启动时会自动将此文件打开并隐藏在活动工作簿后面(在“窗口”菜单中选择“取消隐藏”后,可以很方便地发现它的存在。)如果你要让某个宏在多个工作簿都能使用,那么就应当创建个人宏工作簿,并将宏保存于其中。个人宏工作簿保存在“XLSTART”文件夹中。具体路径为:C:\WINDOWS\Profiles\Application Data\Microsoft\Excel\XLSTART。可以以单词“XLSTART”查询。 

  注意:如果存在个人宏工作簿,则每当EXCEL启动时会自动将此文件打开并隐藏。因为它存放在XLSTART文件夹内。



  2.3.1 保存宏到个人宏工作簿 

  本练习,将保存一个简单的宏到个人宏工作簿,该宏为文本加下划线并改为斜体,步骤如下: 

  1)建立一个名为“HOUR2”的工作簿,选择"工具"-"宏"-"录制新宏",显示"录制新宏"对话框.

  2)输入"格式化文本"作为宏名.

  3)从"保存在"下拉框中选择"个人宏工作簿".

  4)单击"确定"按钮.现在进入录制模式.

  5)单击"斜体"工具栏按钮.一段时间内,鼠标出现沙漏,特别是在第一次创建个人宏工作簿时,因为EXCEL在创建该工作簿.

  6)单击"下划线"按钮.

  7)停止录制.



  2.3.2 使用并编辑个人宏工作簿中的宏 

  刚才已经保存了一个宏到个人宏工作簿,现在可以在任何工作簿中使用该宏.可按如下步骤操作: 

  1)关闭所有EXCEL工作簿.

  2)任意打开一个EXCEL文件.(EXCEL自动将个人宏工作簿同时打开并隐藏.)

  3)在A3中输入你的名字.

  4)选择"工具"-"宏",显示宏对话框.现在可以在宏列表中看到"格式化文本"这个宏. 

  5)选择"格式化文本"宏,并执行.现在A3单元格中,你的名字变为斜体字还带有下划线.选择"窗口"-"取消隐藏",可以将PERSONAL.XLS显示出来,其中没有任何文字,但通过VBA编辑器可以在其中的模块中找到"格式化文本"这个宏.在VBA编辑器中可以对该宏进行直接编辑或者删除.如果PERSONAL.XLS中一个宏都没有,在启动EXCEL时仍会打开PERSONAL.XLS,这也许是EXCEL存在的一个小毛病.



  2.4 将宏指定给按钮 

  即使通过快捷键可以是宏的执行变快,但是一旦宏的数量多了也难于记忆,而且,如果宏是由其他人来使用,难道你要他们也记住那么多的快捷键吗? 

  作为EXCEL开发者,一个主要的目标是为自动化提供一个易于操作的界面."按钮"是最常见的界面组成元素之一.通过使用“窗体”工具栏,可以为工作簿中的工作表添加按钮。在创建完一个按钮后,可以为它指定宏,然后你的用户就可以通过单击按钮来执行宏。在本练习中,将创建一个按钮,并为它指定一个宏,然后用该按钮来执行宏。具体步骤如下: 

  1)打开“HOUR2”工作簿。

  2)调出”窗体“工具栏。

  3)单击”窗体“工具栏中的“按钮”控件,此时鼠标变成十字形状。

  4)在希望放置按钮的位置按下鼠标左键,拖动鼠标画出一个矩形,这个矩形代表了该按钮的大小。对大小满意后放开鼠标左键,这样一个命令按钮就添加到了工作表中,同时EXCEL自动显示“指定宏”对话框。

  5)从“指定宏”对话框中选择“格式化文本”,单击“确定”。这样,就把该宏指定给命令按钮。

  6)在按钮的标题“按钮1”前单击鼠标左键,按下DELETE直到删除所有文本,输入“格式化”作为标题。

  7)单击按钮外的任意位置,现在该按钮的标题由默认的“按钮1”变为“格式化”而且被指定了一个宏。

  8)试着在某个单元格中输入文本,单击按钮运行该宏。 

  当鼠标移动至该按钮时自动变成手的形状,如果要改变其大小或标题,只需用右键单击该按钮就可以进行修改和设置。很明显,你再也不需记住宏的名字或快捷键了,只需按一下按钮。



  2.5 将宏指定给图片或其他对象 

  要执行宏有多种方法可以选择,可以将宏指定给按钮等控件,还可以指定给图片、自定义工具栏、窗体甚至可以将宏指定给某个“事件”,比如单击工作表,双击工作表,激活工作表,打开工作簿等等,“事件”是一个重要的概念,除此而外“方法”“对象”都是将来你会经常接触到的。现在它们看来十分抽象,但是将来你会很熟悉这些词语。指定宏到图片十分简单,只需单击某个图片,单击快捷菜单中的“指定宏”进行设置即可。 

  如果不希望在工作表上添加控件或图片执行宏,还有一种方法可以选择:将宏指定给“工具栏按钮”,可按如下步骤进行: 

  1)打开“HOUR2”工作簿,选择“工具”-“定义”,显示“自定义工具栏”对话框。

  2)从“类别”列表框中选择“宏”,从“命令”列表框中选择“自定义按钮”。

  3)将“自定义按钮”拖动到工具栏。

  4)右键单击该按钮,选择“指定宏”,显示“指定宏”对话框。

  5)选择“格式化文本”并确定。

  6)单击“关闭”按钮,关闭“自定义工具栏”对话框。

  7)试着在某个单元格中输入文本,单击工具栏按钮运行该宏。

  2.6 小结 

  小结与思考: 宏存放于三个可能的位置。个人宏工作簿存放的位置和特性。执行宏的方式。指定宏是为某个对象的事件指定一个程序,一旦这个对象以该事件激活,系统将运行指定的程序。 

  常用的对象有:workbook,worksheet,range,cells,图表,图片,数据透视表,控件,窗体,工具栏.每一个对象都有其可以响应的特殊事件(也有一些通用事件如单击或双击等)。如有兴趣,可以通过EXCEL帮助文件查询这几个词条。在EXCEL中看到的几乎都是属于某个对象,而在EXCEL中所做的许多工作,如移动一下鼠标等等,都可能触发了一个事件。下一学时我们将共同学习“控件”。 



第三课 学习控件

3.1 EXCEL开发过程简介 

  需要对以下问题有个大致的概念.

  1)谁使用-----这决定了程序的操作难度及界面感观.

  2)数据来源和保存在哪里-----这决定了程序的结构. 

  3)如何操作-----这将决定程序的界面和细节.

  4)数据处理的结果-----最终决定程序的价值.



  3.2 认识不同的控件 

  开始时请关闭所有工作簿,打开一个新工作簿并另存为"HOUR3".在工具栏上单击鼠标右键,从快捷菜单中选择"窗体",显示"窗体"工具栏.其中有16个控件,只有9个可放到工作表内。

  1)标签:它用于表现静态文本。

  2)分组框:它用于将其他控件进行组合。

  3)按钮:用于执行宏命令。

  4)复选框:它是一个选择控件,通过单击可以选择和取消选择,可以多项选择。

  5)选项按钮:通常几个选项按钮组合在一起使用,在一组中只能选择一个选项按钮。

  6)列表框:用于显示多个选项并从中选择。只能单选。

  7)组合框:用于显示多个选项并从中选择。可以选择其中的项目或者输入一个其它值。 

  8)滚动条:不是你常见的来给很长的窗体添加滚动能力的控件,而是一种选择机制。例如调节过渡色的滚动条控件。包括水平滚动条和垂直滚动条。

  9)微调控件:也是一种数值选择机制,通过单击控件的箭头来选择数值。例如改变Windows日期或时间就会使用到微调控件。



  3.3 向工作表添加控件 

  用EXCEL设计界面十分简单,要将控件添加到工作表上,可以按以下步骤操作:

  1)创建新工作簿并另存为"HOUR3",显示"窗体"工具栏.

  2)选择"标签"控件.

  3)将鼠标定位到E1,此时鼠标变成小十字.

  4)按下左键,拖动大约四个单元格长度,放开鼠标左键.如果希望控件大小易于控制,可在创建该控件时按下ALT拖动.

  5)在标签1上单击右键,选择"编辑文字",现在可以输入文字.完成后,单击任何单元格退出文字编辑.

  6)通过以上步骤可以添加其它控件到工作表中,不再赘述.



  3.4 设置控件的特性 

  设置控件的特性,可以按以下步骤操作:

  1)选中先前创建的复选框控件,如果没有马上创建一个.

  2)右击该控件,选择"控制"选项卡.

  3)在"单元格链接"中输入A1并确定.

  4)单击任意单元格,退出设置.

  5)用鼠标左键单击复选框,A1出现TRUE,这意味着该控件被选中.再次单击该控件,A1出现FALSE.

  6)选择刚才创建的滚动条控件.并调出"设置控件格式"对话框.

  7)在"单元格链接"中输入A3并确定.

  8)在滚动条外任意单元格单击鼠标左键,使滚动条不被选择.

  9)用鼠标单击滚动条上的箭头,则A1的数值增加1,继续单击则A1的数值继续增加.

  10)保存并关闭该工作簿.



  3.5 给控件命名 

  当创建一个控件时EXCEL会自动给它指定一个名字,但不便于理解和记忆,为控件取名的方法基本和给单元格或区域取名的方法相同.选中某个控件,再在位于公式栏上的"名字"编辑框输入控件名字.这样就给控件更改了名字.



  3.6 使用用户窗体 

  如果希望创建专业级的应用程序,并且方便用户输入数据,那么应该使用用户窗体.用户窗体可以作为程序的对话框和窗口.向用户窗体添加控件基本类似于向工作表添加控件,然而第一步要创建一个用户窗体.这可以通过VBA编辑器实现.具体按以下步骤操作:

  1)打开"HOUR3"工作簿,选择"工具"-"宏"-"VBA编辑器",打开VBA编辑器.

  2)在VBA编辑器中选择工具栏上的"插入用户窗体"按钮或者选择"插入"菜单,从下拉菜单中选择"用户窗体" 

  现在,VBA编辑器中出现一个名为"USERFORM1"的窗体,"控件工具箱"同时出现,在其中有许多已经熟悉的控件,另外还有一些新的控件. 

  这些新的控件是:

  A)切换按钮:该控件如果被选中,那么会保持被按下的状态.如果再次单击它就恢复为没有按下的状态.EXCEL工具栏中有几个这样的按钮,例如:"全屏显示","加粗","下划线"以及"窗体"工具栏中的"切换网格"等.

  B)选项卡条(TabStrip):它是包含多个选项卡的控件.通常用来对相关的信息进行组织或分类.例如:你也许希望用选项卡条来显示各个地区的销售信息,可以给每个地区设置一个选项卡.在默认时,选项卡包含两页,分别叫做TAB1和TAB2,可以添加更多的选项卡.

  C)多页:外观类似选项卡条,是包含一页或多页的控件.选项卡条给人相似的外观,而多页控件的各页包含各自不同的控件,有各自不同的布局.多页的例子很多,例如:"设置控件格式"对话框和"工具"菜单中的"选项"对话框.以及"格式"菜单中的"单元格..."对话框.

  D)图像控件:它允许向窗体上放置图片.图片格式须为 :*.bmp,*.cur,*.gif,*.ico,*.jpg,*.wmf. 

  F)RefEdit:这是工具箱中默认情况下的最后一个控件。它外观象文本框,通过这个控件可以将用户窗体折叠起来,以便选择单元格区域。还记得在使用fx“粘贴函数”时的情况吗? 

  通过实践,我们会逐渐掌握每个控件的特性,这的确需要花时间,但不必死记硬背。 

  在对用户窗体设计得满意时,可以对其进行预览,方法是在VBA编辑器中选择该窗体,单击“运行”菜单中的三角符号“运行子过程/用户窗体”,三角符号在VBA工具栏上也可能看得到,旁边是一个垂直的等于符号,最右边是个小正方形符号,它们类似于录音机上的按钮。运行窗体的另一个方法是按F5键。



  小结:学习完本学时后,我们具备了用于程序界面设计的基本知识。我们对控件不在感到陌生,也明白如何向工作表和窗体添加控件,但控件的内容很多,需要边用边理解.此后,我们将从界面转移到学习编写代码,并最终将二者融合。让我们准备好学习编程吧!



  3.7 疑难解答



  问题1.怎样决定控件的位置?如何选择添加到工作表还是添加到用户窗体?

  解答:这完全取决于个人的爱好和应用程序的用户.如果用户对EXCEL非常熟悉,那么他们也许更希望以工作表的方式操作.在这种情况下不妨直接在工作表上创建控件;如果你的用户对EXCEL不熟悉或者你需要给用户一个专业的界面感觉,那么应该使用用户窗体.



  问题2.什么情况下该用选项卡条而不是多页控件?

  解答:如果每一页具有相同布局,则应选择选项卡条,否则应该选择多页.



  本节作业



  1.思考:

  1)列举两种可以让用户进行多选一的控件。

  2)如何将控件与单元格链接起来。

  2.判断:

  1)只有在VBA编辑器中才能添加用户窗体。

  2)在VBA编辑器中看到的窗体网格线在运行时会自动显示。

  3.填空:( )是显示静态文本的控件。 

第四课 理解变量和变量的作用(1)



4.1 代码存在的位置:模块 

  VBA代码必须存放在某个位置,这个地方就是模块。有两种基本类型的模块:标准模块和类模块。模块中的每个过程或者是函数过程,或者是子程序概念.本课的最后部分将讨论函数过程和子程序的区别。 

  新术语:

  模块:它是作为一个单元保存在一起的VBA定义和过程的集合。

  类模块:VBA允许你创建自己的对象,对象的定义包含在类模块中。



  你的大部分工作集中在标准模块中(简称为模块)当录制宏时如果不存在模块,EXCEL自动创建一个。EXCEL和VBA不关心代码存放在哪一个模块中,只要代码存在于打开的工作簿中即可。



  4.2 对模块的概览 

  过程被定义为VBA代码的一个单元,过程中包括一系列用于执行某个任务或是进行某种计算的语句。工作簿的每个过程都有唯一的名字加以区分。 

  有两种不同的过程:子程序和函数过程。子程序只执行一个或多个操作,而不返回数值。当录制完宏查看代码时,所看到的就是子程序。宏只能录制子程序,而不能录制函数过程。一个子程序的例子如清单4-1所示。 

程序清单4-1 子程序的例子 

Sub cmdSmallFont_Click()

With Selection.Font

.Name="Arial"

.FontStyle="Regular"

.Size=16

End With

End sub 

  上面列出的过程实际上是一个事件过程。通过它的名字,就可以知道这是一个事件过程。这个过程的名字是由一个对象的名字CmdSmallFont和一个事件的名字Click组成的,两者之间用下划线分开。如果还不明白,可以告诉你,CmdSmallFont是一个命令按钮的名字。也就是说,当单击这个命令按钮时,就会运行这个事件过程。 

  函数过程通常情况下称为函数,要返回一个数值。这个数值通常是计算的结果或是测试的结果,例如False 或True.正如前面所说,可以用VBA创建自定义函数。实际上可以在工作表上使用你创建的函数。程序清单4-2是一个计算价格的10%为运费的简单例子。 

程序清单4-2 简单的用户定义函数示例。 

Public Function Shipping(Price)

Shipping = Price * 0.1

End Function 

  请注意,这个函数使用一个参数(Price).子程序和函数都可以使用参数。不论Price的值是多少,它都将决定运费额。Price可以是数字和单元格引用。函数返回计算出来的运费,这个函数可以用在单元格中。 

A B 

1 Price 100

2 Shipping =shipping(B1)



  4.2.1 创建过程 

  创建第一个过程需要两个基本步骤。首先,需要向工作簿中添加一个模块。接着需要向模块中添加一个工程。对于创建的每一个应用程序,只需添加一次模块。可以使用多个模块,但这是不必要的。某些开发者喜欢使用多个模块,以便根据他们的目的或者窗体对过程进行组织。在本练习中,创建的过程只显示一个消息框。 

  在本练习中创建的过程只显示一个消息框。在本练习中使用Msgbox是为了提供一个可见的例子,虽然我们还没有介绍过Msgbox语句,但是在本例中将使用它。要创建该过程,请按如下步骤进行: 

  1)打开一个新工作簿。

  2)选择"工具"-"宏"-"Visual Basic编辑器",打开VBA编辑器窗口。

  3)在`VBA编辑器的左面,可以看到“工程资源管理器”窗口。在工程资源管理器窗口的“Thisworkbook"上单击鼠标右键,选择“插入”-“模块”,这样就将一个模块添加到应用程序中了。(如果你没有看见“工程资源管理器”窗口,可以按Ctrl R)

  4)选择“插入”“过程”,显示“添加过程”对话框。

  5)输入“第一个工程”作为过程名字。在“类型”分组框中,确认选择了“子程序”。单击“确定”按钮。这样一个新的过程就添加到模块中了。可以在模块中看到以 Public Sub 第一个过程()开始,以End Sub结束的语句结构。

  6)在过程中插入光标,输入以下语句并回车:

Msgbox "这是我的第一个过程"

在输入Msgbox后,会自动弹出一个消息框告诉你有关这条命令的信息,称之为自动列表技术。输入完成的过程如下所示:

Public Sub 第一个过程()

Msgbox "这是我的第一个过程"

End Sub



  VBA对子程序和函数有如下的命名规则:

  * 名字中可以包含字母数字和下划线。

  * 名字中不能包含空格句号惊叹号,也不能包含字符@

7. 教你如何制作excel宏

  第一步,录制新宏
  选择工具-宏-录制新宏,在对话框中,为你将要做的宏设定一个快捷键。确定之后,可以看到一个小的工具栏,上面有个停字。从现在开始,你的每一步操作都会被记录下来,直到单击停字下面的按钮,结束宏录制过程。替换默认宏名主要是便于分别这些宏。宏名最多可为255个字符,并且必须以字母开始。其中可用的字符包括:字母、数字和下划线。宏名中不允许出现空格。通常用下划线代表空格。
  第二步,执行宏
  录制完一个宏后之后就可以执行它了,只要,就会重复刚才的一系列操作。
  当执行一个宏时,EXCEL按照宏语句执行的情况就像VBA代码在对EXCEL进行遥控。但VBA的遥控不仅能使操作变得简便,还能使你获得一些使用EXCEL标准命令所无法实现的功能。
  要执行刚才录制的宏,可以按以下步骤进行:
   1)选择任何一个单元格。 2)选择工具宏宏,显示宏对话框。 3)选择自己录制的宏名,选择执行。
  或者是直接按下按初始设定的快捷键,也可以执行宏。
  查看录制的代码
  选择工具宏宏,显示宏对话框。 单击列表中的自己定义的宏名,选择编辑按钮。 此时,会打开VBA的编辑器窗口(VBE),在这里我们可以看到VBA的语句。(关于VBA知识,请参考《excel中VBA基础入门介绍》等文章)
  编辑录制的宏
  需要编辑宏是因为以下三个方面的原因。一:在录制中出错而不得不修改。二:录制的宏中有多余的语句需要删除,提高宏的运行速度。三:希望增加宏的功能。比如:加入判断或循环等无法录制的语句。
excel表格的基本操作
  录制宏的局限性
  希望自动化的许多EXCEL过程大多都可以用录制宏来完成.但是宏记录器存在以下局限性.通过宏记录器无法完成的工作有:
   1)录制的宏无判断或循环能力。2)人机交互能力差,即用户无法进行输入,计算机无法给出提示。3)无法显示EXCEL对话框。4)无法显示自定义窗体。

教你如何制作excel宏

8. excel 表中怎么实现A1单元格为MM, A2中为MM-1, A3中为MM-2,输入A1后,A2 A3的自动显示

何在已有的单元格中批量加入一段固定字符? 
例如:在单位的人事资料,在excel中输入后,由于上级要求在原来的职称证书的号码全部再加两位,即要在每个人的证书号码前再添上两位数13,如果一个一个改的话实在太麻烦了,那么我们可以用下面的办法,省时又省力: 
1)假设证书号在A列,在A列后点击鼠标右键,插入一列,为B列 ; 
2)在B2单元格写入: ="13" & A2 后回车; 
3)看到结果为 13xxxxxxxxxxxxx 了吗?鼠标放到B2位置,单元格的下方不是有一个小方点吗,按着鼠标左键往下拖动直到结束。当你放开鼠标左键时就全部都改好了。 
若是在原证书号后面加13 则在B2单元格中写入:=A2 & “13” 后回车。 
2、如何设置文件下拉窗口的最下面的最近运行的文件名个数? 
打开“工具”,选“选项”,再选“常规”,在“最近使用的文件清单”下面的文件个数输入框中改变文件数目即可。若不在菜单中显示最近使用的文件名,则将“最近使用的文件清单”前的复选框去掉即可。 
3、在EXCEL中输入如“1-1”、“1-2”之类的格式后它即变成1月1日,1月2日等日期形式,怎么办? 
这是由于EXCEL自动识别为日期格式所造成,你只要点击主菜单的“格式”菜单,选“单元格”,再在“数字”菜单标签下把该单元格的格式设成文本格式就行了。 
4、在EXCEL中如何使它象WORD一样的自动定时保存文件? 
点击“工具”菜单“自动保存”项,设置自动保存文件夹的间隔时间。如果在“工具”菜单下没有“自动保存”菜单项,那么执行“工具”菜单下“加载宏...”选上“自动保存”,“确定”。然后进行设置即可。 
5、用Excel做多页的表格时,怎样像Word的表格那样做一个标题,即每页的第一行(或几行)是一样的。但是不是用页眉来完成? 
在EXCEL的文件菜单-页面设置-工作表-打印标题;可进行顶端或左端标题设置,通过按下折叠对话框按钮后,用鼠标划定范围即可。这样Excel就会自动在各页上加上你划定的部分作为表头。 
6、在Excel中如何设置加权平均? 
加权平均在财务核算和统计工作中经常用到,并不是一项很复杂的计算,关键是要理解加权平均值其实就是总量值(如金额)除以总数量得出的单位平均值,而不是简单的将各个单位值(如单价)平均后得到的那个单位值。在Excel中可设置公式解决(其实就是一个除法算式),分母是各个量值之和,分子是相应的各个数量之和,它的结果就是这些量值的加权平均值。 
7、如果在一个Excel文件中含有多个工作表,如何将多个工作表一次设置成同样的页眉和页脚?如何才能一次打印多个工作表? 
把鼠标移到工作表的名称处(若你没有特别设置的话,Excel自动设置的名称是“sheet1、sheet2、sheet3.......”),然后点右键,在弹出的菜单中选择“选择全部工作表”的菜单项,这时你的所有操作都是针对全部工作表了,不管是设置页眉和页脚还是打印你工作表。 
8、EXCEL中有序号一栏,由于对表格进行调整,序号全乱了,可要是手动一个一个改序号实在太慢太麻烦,用什么方法可以快速解决? 
如果序号是不应随着表格其他内容的调整而发生变化的话,那么在制作EXCEL表格时就应将序号这一字段与其他字段分开,如在“总分”与“排名”之间空开一列,为了不影响显示美观,可将这一空的列字段设为隐藏,这样在调整表格(数据清单)的内容时就不会影响序号了。 
9、用Excel2000做成的工资表,只有第一个人有工资条的条头(如编号、姓名、岗位工资.......),想输出成工资条的形式。怎么做? 
这个问题应该这样解决:先复制一张工资表,然后在页面设置中选中工作表选项,设置打印工作表行标题,选好工资条的条头,然后在每一个人之间插入行分页符,再把页长设置成工资条的高度即可。 
使用自定义方式重装了一遍中文office97,Excel的打印纸选项中只有A4一种,怎么办? 
随便安装一个打印机驱动程序就可以了。 
10、在Excel中小数点无法输入,按小数点,显示的却是逗号,无论怎样设置选项都无济于事,该怎么办? 
这是一个比较特殊的问题,我曾为此花了十几个小时的时间,但说白了很简单。在Windows的控制面板中,点击“区域设置”图标,在弹出的“区域设置属性”对话面板上在“区域设置”里选择“中文(中国)”,在“区域设置属性”对话面板上在“数字”属性里把小数点改为“.”(未改前是“,”),按“确定”按钮结束。这样再打开Excel就一切都正常了。 
11、如何快速选取特定区域? 
使用F5键可以快速选取特定区域。例如,要选取A2:A1000,最简便的方法是按F5键,出现“定位”窗口,在“引用”栏内输入需选取的区域A2:A1000。 
12、如何快速返回选中区域? 
按Ctr+BacksPae(即退格键)。 
13、如何快速定位到单元格? 
方法一:按F5键,出现“定位”对话框,在引用栏中输入欲跳到的单元格地址,单市“确定”按钮即可。 
方法二:单击编辑栏左侧单元格地址框,输入单元格地址即可。 
14、“Ctrl+*”的特殊功用?
一般来说,当处理一个工作表中有很多数据的表格时,通过选定表格中某个单元格,然后按下 Ctrl+* 键可选定整个表格。Ctfl+* 选定的区域是这样决定的:根据选定单元格向四周辐射所涉及到的有数据单元格的最大区域。 
15.如何快速选取工作表中所有包含公式的单元格? 
有时,需要对工作表中所有包含公式的单元格加以保护,或填入与其他单元格不同的颜色,以提醒用户注意不能在有此颜色的区域内输入数据。以下方法可以帮助快速选取所有包含公式的单元格:选择“编辑”\“定位”,单击“定位条件”按钮,在“定位条件”对话框中选择“公式”项,按“确定”按钮即可。 
16、如何在不同单元格中快速输入同一数内容? 
选定单元格区域,输入值,然后按 Ctrl+ Ener键,即可实现在选定的单元格区域中一次性输入相同的值。 
17、只记得函数的名称,但记不清函数的参数了,怎么办? 
如果你知道所要使用函数的名字,但又记不清它的所有参数格式,那么可以用键盘快捷键把参数粘贴到编辑栏内。 
具体方法是:在编辑栏中输入一个等号其后接函数名,然后按 Ctr+ A键,Excel则自动进入“函数指南——步骤 2之2”。当使用易于记忆的名字且具有很长一串参数的函数时,上述方法显得特别有用。 
18、如何把选定的一个或多个单元格拖放至新的位置? 
按住Shift键可以快速修改单元格内容的次序。具体方法是: 
选定单元格,按下Shift键,移动鼠标指针至单元格边缘,直至出现拖放指针箭头(空心箭头),然后按住鼠标左键进行拖放操作。上下拖拉时鼠标在单元格间边界处会变为一个水平“工”状标志,左右拖拉时会变为垂直“工”状标志,释放鼠标按钮完成操作后,选定的一个或多个单元格就被拖放至新的位置。 
19、如何让屏幕上的工作空间变大? 
可以将不用的工具栏隐藏,也可以极大化Excel窗口,或者在“视图”菜单中选择“全屏显示”命令。 
20、如何使用快显菜单? 
快显菜单中包括了一些操作中最常用的命令,利用它们可以大大提高操作效率。首先选定一个区域,然后单击鼠标右健即可调出快显菜单,根据操作需要选择不同命令。 
(二) 21、如何使用快显菜单? 
快显菜单中包括了一些操作中最常用的命令,利用它们可以大大提高操作效率。首先选定一个区域,然后单击鼠标右健即可调出快显菜单,根据操作需要选择不同命令。 
22、如何防止Excel自动打开太多文件? 
当Excel启动时,它会自动打开Xlstart目录下的所有文件。当该目录下的文件过多时,Excel加载太多文件不但费时而且还有可能出错。解决方法是将不该位于Xlstart目录下的文件移走。另外,还要防止EXcel打开替补启动目录下的文件:选择“工具”\“选项”\“普通”,将“替补启动目录”一栏中的所有内容删除。 
23、如何去掉网格线? 
1)除去编辑窗口中的表格线,单击“工具”菜单中的“选项”,再选中“视图”,找到“网格线”,使之失效; 
2)除去打印时的未定义表格线 
有时会出现这样的情况:你在编辑时未定义的表格线(在编辑窗中看到的也是淡灰色表格线),一般情况下在打印时是不会打印出来的,可有时却偏偏不听使唤给打印出来了,特别是一些所谓的“电脑”VCD中编辑的Excel表格更是这样。要除去这些表格线,只要在单击“文件”、“页面设置”、“工作表”菜单,点击一下“网格线”左边的选择框,取消选择“网格线”就行了。 
24、如何快速格式化报表? 
为了制作出美观的报表,需要对报表进行格式化。有快捷方法,即自动套用Excel预设的表格样式。方法是: 
选定操作区域,选取“格式”菜单中的“自动套用格式”命令,在格式列表框中选取一款你满意的格式样式,按“确定”按钮即可。要注意的是,格式列表框下面有包括“数字”、“边框线”、“字体”等6个“应用格式种类”选项,若某项前面的“x”不出现,则在套用表格样式时就不会用该项。 
25、如何快速地复制单元格的格式? 
要将某一格式化操作复制到另一部分数据上,可使用“格式刷”按钮。选择含有所需源格式的单元格,单击工具条上的“格式刷”按钮,此时鼠标变成了刷子形状,然后单击要格式化的单元格即可将格式拷贝过去。 
26、如何为表格添加斜线? 
一般我们习惯表格上有斜线,而工作表本身并没有提供该功能。其实,我们可以使用绘图工具来实现: 
单击“绘图”按钮,选取“直线”,鼠标变成十字型.将其移至要添加斜线的开始位置,按住鼠标左键拖动至终止位置,释放鼠标,斜线就画出来了。另外,使用“文字框”按钮可以方便地在斜线上下方添加文字,但文字周围有边框,要想取消它,可选中文字框,调出快显菜单,选择“对象格式”\“图案”,选择“无边框”项即可。 
27、如何快速地将数字作为文本输入? 
在输入数字前加一个单引号“”’,可以强制地将数字作为文本输入。 
28、如何定义自己的函数? 
用户在Excel中可以自定义函数。切换至 Visual Basic模块,或插入一页新的模块表(Module),在出现的空白程序窗口中键入自定义函数VBA程序,按Enter确认后完成编 
写工作,Excel将自动检查其正确性。此后,在同一工作薄内,你就可以与使用Exed内部函数一样在工作表中使用自定义函数,如: 
Function Zm(a) 
If a< 60 Then im=‘不及格” 
Else Zm=“及格” 
End If 
End Function 
29、如何在一个与自定义函数驻留工作簿不同的工作簿内的工作表公式中调用自定义 函数? 
可在包含自定义函数的工作薄打开的前提下,采用链接的方法(也就是在调用函数时加上该函数所在的工作簿名)。假设上例中的自定义函数Zm所在工作薄为MYUDF.XLS,现要在另一不同工作簿中的工作表公式中调用Zm函数,应首先确保MYUDF.XLS被打开,然后使用下述链接的方法: 
=MYUDF.XLS! ZM(b2) 
30、如何快速输入数据序列? 
如果你需要输入诸如表格中的项目序号、日期序列等一些特殊的数据系列,千万别逐条输入,为何不让Excel自动填充呢?在第一个单元格内输入起始数据,在下一个单元格内输入第二个数据,选定这两个单元格,将光标指向单元格右下方的填充柄,沿着要填充的方向拖动填充柄,拖过的单元格中会自动按Excel内部规定的序列进行填充。如果能将自己经常要用到的某些有规律的数据(如办公室人员名单),定义成序列,以备日后自动填充,岂不一劳永逸!选择“工具”菜单中的“选项”命令,再选择“自定义序列”标签,在输入框中输入新序列,注意在新序列各项2间要输入半角符号的逗号加以分隔(例如:张三,李四,王二……),单击“增加”按钮将输入的序列保存起来。 
31、使用鼠标右键拖动单元格填充柄?
上例中介绍了使用鼠标左键拖动单元格填充柄自动填充数据序列的方法。其实,使用鼠标右键拖动单元格填充柄则更具灵活性。在某单元格内输入数据,按住鼠标右键沿着要填充序列的方向拖动填充柄,将会出现包含下列各项的菜单:复制单元格、以序列方式填充、以格式填充、以值填充;以天数填充、以工作日该充、以月该充、以年填充;序列……此时,你可以根据需要选择一种填充方式。 
32.如果你的工作表中已有某个序列项,想把它定义成自动填充序列以备后用,是否需要按照上面介绍的自定义序列的方法重新输入这些序列项? 
不需要。有快捷方法:选定包含序列项的单元格区域,选择“工具”\“选项”\“自定义序列”,单击“引入”按钮将选定区域的序列项添加至“自定义序列”对话框,按“确定”按钮返回工作表,下次就可以用这个序列项了。 
33、上例中,如果你已拥育的序列项中含有许多重复项,应如何处理使其没有重复项,以便使用“引入”的方法快速创建所需的自定义序列? 
选定单元格区域,选择“数据”\“筛选”\“高级筛选”,选定“不选重复的记录”选项,按“确定”按钮即可。 
34、如何对工作簿进行安全保护? 
如果你不想别人打开或修改你的工作簿,那么想法加个密码吧。打开工作薄,选择“文件”菜单中的“另存为”命令,选取“选项”,根据用户的需要分别输入“打开文件口令”或“修改文件D令”,按“确定”退出。工作簿(表)被保护之后,还可对工作表中某些单元格区域的重要数据进行保护,起到双重保护的功能,此时你可以这样做:首先,选定需保护的单元格区域,选取“格式”菜单中的“单元格”命令,选取“保护”,从对话框中选取“锁定”,单由“确定”按钮退出。然后选取“工具”菜单中的“保护”命令,选取“保护工作表”,根据提示两次输入口令后退出。 
注意:不要忘记你设置有“口令”。 
35、如何使单元格中的颜色和底纹不打印出来? 
对那些加了保护的单元格,还可以设置颜色和底纹,以便让用户一目了然,从颜色上看出那些单元格加了保护不能修改,从而可增加数据输入时的直观感觉。但却带来了问题,即在黑白打印时如果连颜色和底纹都打出来,表格的可视性就大打折扣。解决办法是:选择“文件”\“页面设置”\“工作表”,在“打印”栏内选择“单元格单色打印”选项。之后,打印出来的表格就面目如初了。 
36、工作表保护的口令忘记了怎么办? 
如果你想使用一个保护了的工作表,但口令又忘记了,有办法吗?有。选定工作表,选择“编辑”\“复制”、“粘贴”,将其拷贝到一个新的工作薄中(注意:一定要是新工作簿),即可超越工作表保护。当然,提醒你最好不用这种方法盗用他人的工作表。 
37、“$”的功用: 
Excel一般使用相对地址来引用单元格的位置,当把一个含有单元格地址的公式拷贝到一个新的位置,公式中的单元格地址会随着改变。你可以在列号或行号前添加符号“$”来冻结单元格地址,使之在拷贝时保持固定不变。 
38、如何用汉字名称代替单元格地址? 
如果你不想使用单元格地址,可以将其定义成一个名字。 
定义名字的方法有两种:一种是选定单元格区域后在“名字框”直接输入名字,另一种是选定想要命名的单元格区域,再选择“插入”\“名字”\“定义”,在“当前工作簿中名字”对话框内键人名字即可。使用名字的公式比使用单元格地址引用的公式更易于记忆和阅读,比如公式“=SUM(实发工资)”显然比用单元格地址简单直观,而且不易出错。 
39、如何在公式中快速输入不连续的单元格地址? 
在SUM函数中输入比较长的单元格区域字符串很麻烦,尤其是当区域为许多不连续单元格区域组成时。这时可按住Ctrl键,进行不连续区域的选取。区域选定后选择“插入”\“名字”\“定义”,将此区域命名,如Group1,然后在公式中使用这个区域名,如“=SUM(Group1)”。 
40、如何定义局部名字? 
在默认情况下,工作薄中的所有名字都是全局的。其实,可以定义局部名字,使之只对某个工作表有效,方法是将名字命名为“工作表名!名字”的形式即可。 
41、如何命名常数? 
有时,为常数指定一个名字可以节省在整个工作簿中修改替换此常数的时间。例如,在某个工作表中经常需用利率4.9%来计算利息,可以选择“插入”\“名字”\“定 
义”,在“当前工作薄的名字”框内输入“利率”,在“引用位置”框中输入“= 0.04.9”,按“确定”按钮。 
42、工作表名称中能含有空格吗? 
能。例如,你可以将某工作表命名为“Zhu Meng”。有一点结注意的是,当你在其他工作表中调用该工作表中的数据时,不能使用类似“= ZhU Meng!A2”的公式,否则Excel将提示错误信息“找不到文件Meng”。解决的方法是,将调用公式改为“='Zhu Mg'! A2”就行了。当然,输入公式时,你最好养成这样的习惯,即在输入“=”号以后,用鼠标单由 Zhu Meng工作表,再输入余下的内容。 
43、给工作表命名应注意的问题?
有时为了直观,往往要给工作表重命名(Excel默认的荼表名是sheet1、sheet2.....),在重命名时应注意最好不要用已存在的函数名来作荼表名,否则在下述情况下将产征收岂义。我们知道,在工作薄中复制工作表的方法是,按住Ctrl健并沿着标签行拖动选中的工作表到达新的位置,复制成的工作表以“源工作表的名字+(2)”形式命名。例如,源表为ZM,则其“克隆”表为ZM(2)。在公式中Excel会把ZM(2)作为函数来处理,从而出错。因而应给ZM(2)工作表重起个名字。 
44、如何拆分或取消拆分窗口? 
当我们给一个工作表输入数据时,在向下滚动过程中,尤其是当标题行消失后,有时会记错各列标题的相对位置。这时可以将窗口拆分为几部分,然后将标题部分保留在屏幕上不动,只滚动数据部分。其方法是在主菜单上单击“窗口”\“拆分窗口”。取消拆分窗口时除了使用“窗口”\“撒消拆分窗口”命令外,有捷径:将鼠标指针置于水平拆分或垂直拆分线或双拆分钱交点上,双击鼠标即可取消已拆分的窗口。 
45、如何给工作簿扩容? 
选取“工具”\“选项”命令,选择“常规”项,在“新工作薄内的工作表数”对话栏用上下箭头改变打开新工作表数。一个工作薄最多可以有255张工作表,系统默认值为6。 
46、如何减少重复劳动? 
我们在实际应用Excel时,经常遇到有些操作重复应用(如定义上下标等)。为了减少重复劳动,我们可以把一些常用到的操作定义成宏。其方法是:选取“工具”菜单中的“宏”命令,执行“记录新宏”,记录好后按“停止”按钮即可。也可以用VBA编程定义宏。 
47、如何快速地批量修改数据? 
假如有一份 Excel工作簿,里面有所有职工工资表。现在想将所有职工的补贴增加50(元),当然你可以用公式进行计算,但除此之外还有更简单的批量修改的方法,即使用“选择性粘贴”功能: 
首先在某个空白单元格中输入50,选定此单元格,选择“编辑”\“复制”。选取想修改的单元格区域,例如从E2到E150。然后选择“编辑”\“选择性粘贴”,在“选择性粘贴”对话框“运算”栏中选中“加”运算,按“确定”健即可。最后,要删除开始时在某个空白单元格中输入的50。 
48、如何快速删除特定的数据? 
假如有一份Excel工作薄,其中有大量的产品单价、数量和金额。如果想将所有数量为0的行删除,首先选定区域(包括标题行),然后选择“数据”\“筛选”\“自动筛选”。在“数量”列下拉列表中选择“0”,那么将列出所有数量为0的行。此时在所有行都被选中的情况下,选择“编辑”\“删除行”,然后按“确定”即可删除所有数量为0的行。最后,取消自动筛选。 
49、如何快速删除工作表中的空行? 
以下几种方法可以快速删除空行: 
方法一:如果行的顺序无关紧要,则可以根据某一列排序,然后可以方便地删掉空行。 
方法二:如果行的顺序不可改变,你可以先选择“插入”\“列”,插入新的一列入在A列中顺序填入整数。然后根据其他任何一列将表中的行排序,使所有空行都集中到表的底部,删去所有空行。最后以A列重新排序,再删去A列,恢复工作表各行原来的顺序。 
方法三:使用上例“如何快速删除特定的数据”的方法,只不过在所有列的下拉列表中都选择“空白”。 
50、如何使用数组公式? 
Excel中数组公式非常有用,它可建立产生多值或对一组值而不是单个值进行操作的公式。要输入数组公式,首先必须选择用来存放结果的单元格区域,在编辑栏输入公式,然后按ctrl+Shift+Enter组合键锁定数组公式,Excel将在公式两边自动加上括号“{}”。不要自己键入花括号,否则,Excel认为输入的是一个正文标签。要编辑或清除数组公式.需选择数组区域并且激活编辑栏,公式两边的括号将消失,然后编辑或清除公式,最后按Ctrl+shift+Enter键。 
51、如何不使显示或打印出来的表格中包含有0值? 
通常情况下,我们不希望显示或打印出来的表格中包含有0值,而是将其内容置为空。例如,图1合计列中如果使用“=b2+c2+d2”公式,将有可能出现0值的情况,如何让0值不显示? 
方法一;使用加上If函数判断值是否为0的公式,即: =if(b2+c2+d2=0,“”, b2+c2+d2) 
方法二:选择“工具”\“选项”\“视窗”,在“窗口选项”中去掉“零值”选项。 方法三:使用自定义格式。 选中 E2:E5区域,选择“格式”\“单元格”\“数字”,从“分类”列表框中选择“自定义”,在“格式”框中输入“G/通用格式;G/通用格式;;”,按“确定”按钮即可。 
52、在Excel中用Average函数计算单元格的平均值的,值为0的单元格也包含在内。有没有办法在计算平均值时排除值为0的单元格? 
方法一:如果单元格中的值为0,可用上例“0值不显示的方法”将其内容置为空,此时空单元格处理成文本,这样就可以直接用Average函数计算了。 
方法二:巧用Countif函数 例如,下面的公式可计算出b2:B10区域中非0单元格的平均值:=sum(b2: b10)/countif(b2: b1o,"<>0") 
53、如何在Excel中实现“自动更正”功能? 
Word用户都知道,利用Word的“自动更正”功能可以实现数据的快速输入.但在Excel中却没有类似“自动更正”功能的菜单命令。其实,使用VloopuP函数可以巧妙地解决这一问题。