VBA的基础知识学习讲座.docx
第一课 VBA是什么1.1 VBA是什么直到90年代早期,使应用程序自动化还是充满挑战性的领域.对每个需要自动化的应用程序,人们不得不学习一种不同的自动化语言.例如:可以用EXCEL的宏语言来使EXCEL自动化,使用WORD BASIC使WORD自动化,等等.微软决定让它开发出来的应用程序共享一种通用的自动化语言-Visual Basic For Application(VBA),可以认为VBA是非常流行的应用程序开发语言VASUAL BASIC 的子集.实际上VBA是"寄生于"VB应用程序的版本.VBA和VB的区别包括如下几个方面: 1. VB是设计用于创建标准的应用程序,而VBA是使已有的应用程序(EXCEL等)自动化2. VB具有自己的开发环境,而VBA必须寄生于已有的应用程序.3. 要运行VB开发的应用程序,用户不必安装VB,因为VB开发出的应用程序是可执行文件(*.EXE),而VBA开发的程序必须依赖于它的"父"应用程序,例如EXCEL. 尽管管存在这这些不同同,VBBA和VVB在结结构上仍仍然十分分相似.事实上上,如果果你已经经了解了了VB,会发现现学习VVBA非非常快.相应的的,学完完VBAA会给学学习VBB打下坚坚实的基基础.而而且,当当学会在在EXCCEL中中用VBBA创建建解决方方案后,即已具具备在WWORDD ACCCESSS OOUTLLOOKK FOOXPRRO PPROWWERPPOINNT 中中用VBBA创建建解决方方案的大大部分知知识.* VBAA一个关关键特征征是你所所学的知知识在微微软的一一些产品品中可以以相互转转化.* VBAA可以称称作EXXCELL的“遥遥控器”.VBAA究竟是是什么?更确切切地讲,它是一一种自动动化语言言,它可可以使常常用的程程序自动动化,可可以创建建自定义义的解决决方案. 此此外,如如果你愿愿意,还还可以将将EXCCEL用用做开发发平台实实现应用用程序.1.2 EEXCEEL环境境中基于于应用程程序自动动化的优优点 也许许你想知知道VBBA可以以干什么么?使用用VBAA可以实实现的功功能包括括: 1. 使重重复的任任务自动动化.2. 自定定义EXXCELL工具栏栏,菜单单和界面面.3. 简化模模板的使使用.4. 自定定义EXXCELL,使其其成为开开发平台台.5. 创建报报表.6. 对数数据进行行复杂的的操作和和分析.用用EXCCEL作作为开发发平台有有如下原原因: 1. EXXCELL本身功功能强大大,包括括打印,文件处处理,格格式化和和文本编编辑.2. EXXCELL内置大大量函数数.3. EXCCEL界界面熟悉悉.4. 可连接接到多种种数据库库.用其他他语言开开发应用用程序,一半的的工作是是编写一一些基本本功能的的模块,包括文文件的打打开和保保存,打打印,复复制等.而用EEXCEEL作为为开发平平台,则则由于EEXCEEL已经经具备这这些基本本功能,你要做做的只是是使用它它.1.33 录制制简单的的宏 在介介绍学习习VBAA之前,应该花花几分钟钟录制一一个宏。新新术语:“宏”,指一一系列EEXCEEL能够够执行的的VBAA语句。 以下将将要录制制的宏非非常简单单,只是是改变单单元格颜颜色。请请完成如如下步骤骤: 1)打开新新工作簿簿,确认认其他工工作簿已已经关闭闭。2)选选择A11单元格格。调出出“常用用”工具具栏。3)选择“工具”“宏宏”“录制新新宏”。44)输入入“改变变颜色”作为宏宏名替换换默认宏宏名,单单击确定定,注意意,此时时状态栏栏中显示示“录制制”,特特别是“停止录录制”工工具栏也也显示出出来。替替换默认认宏名主主要是便便于分别别这些宏宏。宏名最最多可为为2555个字符符,并且且必须以以字母开开始。其其中可用用的字符符包括:字母、数字和和下划线线。宏名名中不允允许出现现空格。通常用用下划线线代表空空格。5)选择“格式”的“单单元格”,选择择“图案案”选项项中的红红色,单单击“确确定”。66)单击击“停止止录制”工具栏栏按钮,结束宏宏录制过过程。如果“停止录录制”工工具栏开开始并未未出现,请选择择“工具具”“宏”“停止止录制”。录制完完一个宏宏后就可可以执行行它了。1.4 执执行宏当当执行一一个宏时时,EXXCELL按照宏宏语句执执行的情情况就像像VBAA代码在在对EXXCELL进行“遥控”。但VVBA的的“遥控控”不仅仅能使操操作变得得简便,还能使使你获得得一些使使用EXXCELL标准命命令所无无法实现现的功能能。而且且,一旦旦熟悉了了EXCCEL的的“遥控控”,你你都会奇奇怪自己己在没有有这些“遥控”的情况况下,到到底是怎怎么熬过过来的。要执行行刚才录录制的宏宏,可以以按以下下步骤进进行: 1)选择任任何一个个单元格格,比如如A3。22)选择择“工具具”“宏”“宏”,显示示“宏”对话框框。3)选选择“改改变颜色色”,选选择“执执行”,则A33单元格格的颜色色变为红红色。试试着选择择其它单单元格和和几个单单元格组组成的区区域,然然后再执执行宏,以便加加深印象象。1.55 查看看录制的的代码到底底是什么么在控制制EXCCEL的的运行呢呢?你可可能有些些疑惑.好,让让我们看看看VBBA的语语句吧. 1)选择“工具”“宏宏”“宏”,显示“宏”对对话框。22)单击击列表中中的“改改变颜色色”,选选择“编编辑”按按钮。 此时时,会打打开VBBA的编编辑器窗窗口(VVBE)。关于于该编辑辑器,以以后再详详细说明明,先将将注意力力集中到到显示的的代码上上。代码码如下:(日期期和姓名名会有不不同)SSub 改变颜颜色()'' 改变变颜色 Maccro'' xww 记录录的宏 20000-66-100''Witth SSeleectiion.Intteriior.CollorIIndeex = 3.Pattterrn = xllSollid.PattterrnCoolorrInddex = xxlAuutommatiicEnnd WWithhEndd Suub将来来会十分分熟悉这这种代码码,虽然然现在它它们看上上去像一一种奇怪怪的外语语。学习习VBAA或编程程语言在在某种程程度上比比较像在在学习一一种外语语。Suub 改改变颜色色():这是宏宏的名称称。中间间的以“ '”开头头的五行行称为“注释”,它在在录制宏宏时自动动产生。以Wiith 开头到到Endd Wiith 结束的的结构是是Witth结构构语句,这段语语句是宏宏的主要要部分。注意单单词“sseleectiion”,它代代表“突突出显示示的区域域”(即即:选定定区域)。Wiith Sellecttionn.Innterriorr :它它读作“选择区区域的的的内部”.这整整段语句句设置该该区域内内部的一一些“属属性”。其中:.CoolorrInddex = 33: 将将该内部部设为红红色。注注意:有有一小圆圆点,它它的作用用在于简简化语句句,小圆圆点代替替出现在在Witth后的的词,它它是Wiith结结构的一一部分。另外:红色被被数字化化为3.(红色色警戒是是否可称称作:33号警戒戒,嗯?)有兴兴趣的话话,你将将3改为为其他数数字试试试看。.Pattterrn = xllSollid:设置该该区域的的内部图图案。由由于是录录制宏,所以,虽然你你并未设设置这一一项,宏宏仍然将将其记录录下来(因为在在“图案案”选项项中有此此一项,只是你你为曾设设置而已已)。xxlSoolidd表示纯纯色。.PattterrnCoolorrInddex = xxlAuutommatiic:表表示内部部图案底底纹颜色色为自动动配色。Endd Wiith:结束WWithh 语句句。Ennd SSub:整个宏宏的结束束语1.66 编辑辑录制的的代码 在在上一节节,我们们录制了了一个宏宏并查看看了代码码,代码码中有两两句实际际上并不不起作用用。哪两两句?现现在,在在宏中作作一个修修改,删删除多余余行,直直到和下下面代码码相同:Subb 改变变颜色()'' 改变变颜色 Maccro'' xww 记录录的宏 20000-66-100''Witth SSeleectiion.Intteriior.CollorIIndeex = 3EEnd WitthEnnd SSub 完完成后,在工作作表中试试验一下下。你会会发现结结果和修修改前的的状况一一样。在在Witth 语语句前加加入一行行:Raangee("AA5").Seelecct试着运运行该宏宏,则无无论开始始选择哪哪个单元元格,宏宏运行结结果都是是使A55单元格格变红. 现在可可以看到到,编辑辑录制的的宏同样样非常简简单。需需要编辑辑宏是因因为以下下三个方方面的原原因。一一:在录录制中出出错而不不得不修修改。二二:录制制的宏中中有多余余的语句句需要删删除,提提高宏的的运行速速度。三三:希望望增加宏宏的功能能。比如如:加入入判断或或循环等等无法录录制的语语句。1.7 录录制宏的的局限性性希希望自动动化的许许多EXXCELL过程大大多都可可以用录录制宏来来完成.但是宏宏记录器器存在以以下局限限性.通通过宏记记录器无无法完成成的工作作有: 1)录制的的宏无判判断或循循环能力力.2)人人机交互互能力差差,即用用户无法法进行输输入,计计算机无无法给出出提示.33)无法法显示EEXCEEL对话话框.4)无法显显示自定定义窗体体.1.88 小结结本本课中,你已经经掌握了了VBAA的一些些基础知知识,你你会录制制宏、编编辑宏而而且了解解了录制制宏的局局限性.你很努努力.并并且已经经为将来来学习VVBA甚甚至VBB等编程程语言打打下了基基础.关关键是你你已经了了解了一一个谜底底,就是是说,你你了解了了什么是是编程.下面是是些小练练习,做做完后才才可以去去玩哟.思思考:1)VBAA只能用用于EXXCELL吗?2)VBAA是基于于哪种语语言?3)说说EEXCEEL和VVBA的的关系.44)为什什么要用用宏? 第二课 处理录录制的宏宏2.1 为宏指指定快捷捷键 你也也许希望望为经常常使用的的宏指定定快捷键键。快捷捷键是指指键的组组合,当当其按下下时执行行一条命命令。例例如:CCTRLL+C 在许许多程序序中代表表“复制制”命令令。当给给宏指定定了快捷捷键后,就可以以用快捷捷键来执执行宏,而不必必通过“工具”菜单。 注意意:当包包含宏的的工作簿簿打开时时间,为为宏指定定快捷键键会覆盖盖EXCCEL默默认的快快捷键。例如:把CTTRL+C指定定给某个个宏,那那么CTTRL+C就不不再执行行复制命命令。用用以下方方法可以以打印出出EXCCEL的的快捷键键清单(用A44纸打印印共有224页之之多): 1)打开EEXCEEL帮助助文件并并选择“目录”选项。22)从“使用快快捷键”文件夹夹中选择择“”快快捷键“标题。33)右击击该标题题,从快快捷菜单单中选择择“打印印”。4)选择“打印所所选标题题和所有有子主题题”,单单击“确确定”。可以在在创建宏宏时指定定快捷键键,也可可以在创创建后再再指定。要在创创建(录录制)宏宏时指定定快捷键键,只须须在录制制宏时在在输入宏宏名后,在“快快捷键”文本框框中输入入相应的的键。录录制宏后后指定快快捷键也也很简单单,只需需选择“工具”“宏”,显示示“宏”对话框框,选择择要指定定快捷键键的宏,再单击击“选项项”按钮钮,通过过“选项项”对话话框进行行设置。2.2 决决定宏保保存的位位置 宏可可保存在在三种可可能的位位置: 1)当前工工作簿。(只有有该工作作簿打开开时,该该宏才可可用。)22)新工工作簿。33)个人人宏工作作簿。2.3 个个人宏工工作簿 个人人宏工作作簿,是是为宏而而设计的的一种特特殊的具具有自动动隐藏特特性的工工作簿。第一次次将宏创创建到个个人宏工工作簿时时,会创创建名为为“PEERSOONALL.XLLS"的的新文件件。如果果该文件件存在,则每当当EXCCEL启启动时会会自动将将此文件件打开并并隐藏在在活动工工作簿后后面(在在“窗口口”菜单单中选择择“取消消隐藏”后,可可以很方方便地发发现它的的存在。)如果果你要让让某个宏宏在多个个工作簿簿都能使使用,那那么就应应当创建建个人宏宏工作簿簿,并将将宏保存存于其中中。个人人宏工作作簿保存存在“XXLSTTARTT”文件件夹中。具体路路径为:C:WINNDOWWSPProffileesAAppllicaatioon DDataaMiicroosofftEExceelXXLSTTARTT。可以以以单词词“XLLSTAART”查询。 注意意:如果果存在个个人宏工工作簿,则每当当EXCCEL启启动时会会自动将将此文件件打开并并隐藏。因为它它存放在在XLSSTARRT文件件夹内。22.3.1 保保存宏到到个人宏宏工作簿簿 本练练习,将将保存一一个简单单的宏到到个人宏宏工作簿簿,该宏宏为文本本加下划划线并改改为斜体体,步骤骤如下: 1)建立一一个名为为“HOOUR22”的工工作簿,选择""工具""-"宏宏"-""录制新新宏",显示""录制新新宏"对对话框.22)输入入"格式式化文本本"作为为宏名.33)从""保存在在"下拉拉框中选选择"个个人宏工工作簿"".4)单单击"确确定"按按钮.现现在进入入录制模模式.5)单击""斜体""工具栏栏按钮.一段时时间内,鼠标出出现沙漏漏,特别别是在第第一次创创建个人人宏工作作簿时,因为EEXCEEL在创创建该工工作簿.66)单击击"下划划线"按按钮.7)停止录录制.2.3.22 使用用并编辑辑个人宏宏工作簿簿中的宏宏 刚才才已经保保存了一一个宏到到个人宏宏工作簿簿,现在在可以在在任何工工作簿中中使用该该宏.可可按如下下步骤操操作: 1)关闭所所有EXXCELL工作簿簿.2)任任意打开开一个EEXCEEL文件件.(EEXCEEL自动动将个人人宏工作作簿同时时打开并并隐藏.)3)在在A3中中输入你你的名字字.4)选选择"工工具"-"宏"",显示示宏对话话框.现现在可以以在宏列列表中看看到"格格式化文文本"这这个宏. 5)选选择"格格式化文文本"宏宏,并执执行.现现在A33单元格格中,你你的名字字变为斜斜体字还还带有下下划线.选择""窗口""-"取取消隐藏藏",可可以将PPERSSONAAL.XXLS显显示出来来,其中中没有任任何文字字,但通通过VBBA编辑辑器可以以在其中中的模块块中找到到"格式式化文本本"这个个宏.在在VBAA编辑器器中可以以对该宏宏进行直直接编辑辑或者删删除.如如果PEERSOONALL.XLLS中一一个宏都都没有,在启动动EXCCEL时时仍会打打开PEERSOONALL.XLLS,这这也许是是EXCCEL存存在的一一个小毛毛病.2.4 将将宏指定定给按钮钮 即使使通过快快捷键可可以是宏宏的执行行变快,但是一一旦宏的的数量多多了也难难于记忆忆,而且且,如果果宏是由由其他人人来使用用,难道道你要他他们也记记住那么么多的快快捷键吗吗? 作为为EXCCEL开开发者,一个主主要的目目标是为为自动化化提供一一个易于于操作的的界面."按钮钮"是最最常见的的界面组组成元素素之一.通过使使用“窗窗体”工工具栏,可以为为工作簿簿中的工工作表添添加按钮钮。在创创建完一一个按钮钮后,可可以为它它指定宏宏,然后后你的用用户就可可以通过过单击按按钮来执执行宏。在本练练习中,将创建建一个按按钮,并并为它指指定一个个宏,然然后用该该按钮来来执行宏宏。具体体步骤如如下: 1)打开“HOUUR2”工作簿簿。2)调调出”窗窗体“工工具栏。33)单击击”窗体体“工具具栏中的的“按钮钮”控件件,此时时鼠标变变成十字字形状。44)在希希望放置置按钮的的位置按按下鼠标标左键,拖动鼠鼠标画出出一个矩矩形,这这个矩形形代表了了该按钮钮的大小小。对大大小满意意后放开开鼠标左左键,这这样一个个命令按按钮就添添加到了了工作表表中,同同时EXXCELL自动显显示“指指定宏”对话框框。5)从从“指定定宏”对对话框中中选择“格式化化文本”,单击击“确定定”。这这样,就就把该宏宏指定给给命令按按钮。6)在按钮钮的标题题“按钮钮1”前前单击鼠鼠标左键键,按下下DELLETEE直到删删除所有有文本,输入“格式化化”作为为标题。77)单击击按钮外外的任意意位置,现在该该按钮的的标题由由默认的的“按钮钮1”变变为“格格式化”而且被被指定了了一个宏宏。8)试试着在某某个单元元格中输输入文本本,单击击按钮运运行该宏宏。 当鼠鼠标移动动至该按按钮时自自动变成成手的形形状,如如果要改改变其大大小或标标题,只只需用右右键单击击该按钮钮就可以以进行修修改和设设置。很很明显,你再也也不需记记住宏的的名字或或快捷键键了,只只需按一一下按钮钮。2.55 将宏宏指定给给图片或或其他对对象 要执执行宏有有多种方方法可以以选择,可以将将宏指定定给按钮钮等控件件,还可可以指定定给图片片、自定定义工具具栏、窗窗体甚至至可以将将宏指定定给某个个“事件件”,比比如单击击工作表表,双击击工作表表,激活活工作表表,打开开工作簿簿等等,“事件件”是一一个重要要的概念念,除此此而外“方法”“对象象”都是是将来你你会经常常接触到到的。现现在它们们看来十十分抽象象,但是是将来你你会很熟熟悉这些些词语。指定宏宏到图片片十分简简单,只只需单击击某个图图片,单单击快捷捷菜单中中的“指指定宏”进行设设置即可可。 如果果不希望望在工作作表上添添加控件件或图片片执行宏宏,还有有一种方方法可以以选择:将宏指指定给“工具栏栏按钮”,可按按如下步步骤进行行: 1)打开“HOUUR2”工作簿簿,选择择“工具具”-“定义”,显示示“自定定义工具具栏”对对话框。22)从“类别”列表框框中选择择“宏”,从“命令”列表框框中选择择“自定定义按钮钮”。3)将“自自定义按按钮”拖拖动到工工具栏。44)右键键单击该该按钮,选择“指定宏宏”,显显示“指指定宏”对话框框。5)选选择“格格式化文文本”并并确定。66)单击击“关闭闭”按钮钮,关闭闭“自定定义工具具栏”对对话框。77)试着着在某个个单元格格中输入入文本,单击工工具栏按按钮运行行该宏。2.6 小结 小结结与思考考: 宏宏存放于于三个可可能的位位置。个个人宏工工作簿存存放的位位置和特特性。执执行宏的的方式。指定宏宏是为某某个对象象的事件件指定一一个程序序,一旦旦这个对对象以该该事件激激活,系系统将运运行指定定的程序序。 常用用的对象象有:wworkkboook,wworkksheeet,rannge,cellls,图表,图片,数据透透视表,控件,窗体,工具栏栏.每一一个对象象都有其其可以响响应的特特殊事件件(也有有一些通通用事件件如单击击或双击击等)。如有兴兴趣,可可以通过过EXCCEL帮帮助文件件查询这这几个词词条。在在EXCCEL中中看到的的几乎都都是属于于某个对对象,而而在EXXCELL中所做做的许多多工作,如移动动一下鼠鼠标等等等,都可可能触发发了一个个事件。下一学学时我们们将共同同学习“控件”。 第三课 学习控控件3.1 EXCCEL开开发过程程简介 需要要对以下下问题有有个大致致的概念念.1)谁谁使用-这决决定了程程序的操操作难度度及界面面感观.22)数据据来源和和保存在在哪里-这决决定了程程序的结结构. 33)如何何操作-这将将决定程程序的界界面和细细节.4)数据处处理的结结果-最终决决定程序序的价值值.3.22 认识识不同的的控件 开始始时请关关闭所有有工作簿簿,打开开一个新新工作簿簿并另存存为"HHOURR3".在工具具栏上单单击鼠标标右键,从快捷捷菜单中中选择""窗体"",显示示"窗体体"工具具栏.其其中有116个控控件,只只有9个个可放到到工作表表内。1)标签:它用于于表现静静态文本本。2)分分组框:它用于于将其他他控件进进行组合合。3)按按钮:用用于执行行宏命令令。4)复复选框:它是一一个选择择控件,通过单单击可以以选择和和取消选选择,可可以多项项选择。55)选项项按钮:通常几几个选项项按钮组组合在一一起使用用,在一一组中只只能选择择一个选选项按钮钮。6)列列表框:用于显显示多个个选项并并从中选选择。只只能单选选。7)组组合框:用于显显示多个个选项并并从中选选择。可可以选择择其中的的项目或或者输入入一个其其它值。 8)滚滚动条:不是你你常见的的来给很很长的窗窗体添加加滚动能能力的控控件,而而是一种种选择机机制。例例如调节节过渡色色的滚动动条控件件。包括括水平滚滚动条和和垂直滚滚动条。99)微调调控件:也是一一种数值值选择机机制,通通过单击击控件的的箭头来来选择数数值。例例如改变变Winndowws日期期或时间间就会使使用到微微调控件件。3.33 向工工作表添添加控件件 用EEXCEEL设计计界面十十分简单单,要将将控件添添加到工工作表上上,可以以按以下下步骤操操作:1)创建新新工作簿簿并另存存为"HHOURR3",显示""窗体""工具栏栏.2)选选择"标标签"控控件.3)将鼠标标定位到到E1,此时鼠鼠标变成成小十字字.4)按按下左键键,拖动动大约四四个单元元格长度度,放开开鼠标左左键.如如果希望望控件大大小易于于控制,可在创创建该控控件时按按下ALLT拖动动.5)在在标签11上单击击右键,选择""编辑文文字",现在可可以输入入文字.完成后后,单击击任何单单元格退退出文字字编辑.66)通过过以上步步骤可以以添加其其它控件件到工作作表中,不再赘赘述.3.4 设设置控件件的特性性 设置置控件的的特性,可以按按以下步步骤操作作:1)选选中先前前创建的的复选框框控件,如果没没有马上上创建一一个.2)右击该该控件,选择""控制""选项卡卡.3)在在"单元元格链接接"中输输入A11并确定定.4)单单击任意意单元格格,退出出设置.55)用鼠鼠标左键键单击复复选框,A1出出现TRRUE,这意味味着该控控件被选选中.再再次单击击该控件件,A11出现FFALSSE.6)选择刚刚才创建建的滚动动条控件件.并调调出"设设置控件件格式""对话框框.7)在在"单元元格链接接"中输输入A33并确定定.8)在在滚动条条外任意意单元格格单击鼠鼠标左键键,使滚滚动条不不被选择择.9)用用鼠标单单击滚动动条上的的箭头,则A11的数值值增加11,继续续单击则则A1的的数值继继续增加加.10)保存并并关闭该该工作簿簿.3.55 给控控件命名名 当创创建一个个控件时时EXCCEL会会自动给给它指定定一个名名字,但但不便于于理解和和记忆,为控件件取名的的方法基基本和给给单元格格或区域域取名的的方法相相同.选选中某个个控件,再在位位于公式式栏上的的"名字字"编辑辑框输入入控件名名字.这这样就给给控件更更改了名名字.3.6 使使用用户户窗体 如果果希望创创建专业业级的应应用程序序,并且且方便用用户输入入数据,那么应应该使用用用户窗窗体.用用户窗体体可以作作为程序序的对话话框和窗窗口.向向用户窗窗体添加加控件基基本类似似于向工工作表添添加控件件,然而而第一步步要创建建一个用用户窗体体.这可可以通过过VBAA编辑器器实现.具体按按以下步步骤操作作:1)打打开"HHOURR3"工工作簿,选择""工具""-"宏宏"-""VBAA编辑器器",打打开VBBA编辑辑器.2)在VBBA编辑辑器中选选择工具具栏上的的"插入入用户窗窗体"按按钮或者者选择""插入""菜单,从下拉拉菜单中中选择""用户窗窗体" 现在在,VBBA编辑辑器中出出现一个个名为""USEERFOORM11"的窗窗体,""控件工工具箱""同时出出现,在在其中有有许多已已经熟悉悉的控件件,另外外还有一一些新的的控件. 这些些新的控控件是:AA)切换换按钮:该控件件如果被被选中,那么会会保持被被按下的的状态.如果再再次单击击它就恢恢复为没没有按下下的状态态.EXXCELL工具栏栏中有几几个这样样的按钮钮,例如如:"全全屏显示示",""加粗"","下下划线""以及""窗体""工具栏栏中的""切换网网格"等等.B)选选项卡条条(TaabSttripp):它它是包含含多个选选项卡的的控件.通常用用来对相相关的信信息进行行组织或或分类.例如:你也许许希望用用选项卡卡条来显显示各个个地区的的销售信信息,可可以给每每个地区区设置一一个选项项卡.在在默认时时,选项项卡包含含两页,分别叫叫做TAAB1和和TABB2,可可以添加加更多的的选项卡卡.C)多多页:外外观类似似选项卡卡条,是是包含一一页或多多页的控控件.选选项卡条条给人相相似的外外观,而而多页控控件的各各页包含含各自不不同的控控件,有有各自不不同的布布局.多多页的例例子很多多,例如如:"设设置控件件格式""对话框框和"工工具"菜菜单中的的"选项项"对话话框.以以及"格格式"菜菜单中的的"单元元格."对对话框.DD)图像像控件:它允许许向窗体体上放置置图片.图片格格式须为为:*.bmmp,*.cuur,*.giif,*.icco,*.jppg,*.wmmf. FF)ReefEddit:这是工工具箱中中默认情情况下的的最后一一个控件件。它外外观象文文本框,通过这这个控件件可以将将用户窗窗体折叠叠起来,以便选选择单元元格区域域。还记记得在使使用fxx“粘贴贴函数”时的情情况吗? 通过过实践,我们会会逐渐掌掌握每个个控件的的特性,这的确确需要花花时间,但不必必死记硬硬背。 在对对用户窗窗体设计计得满意意时,可可以对其其进行预预览,方方法是在在VBAA编辑器器中选择择该窗体体,单击击“运行行”菜单单中的三三角符号号“运行行子过程程/用户户窗体”,三角角符号在在VBAA工具栏栏上也可可能看得得到,旁旁边是一一个垂直直的等于于符号,最右边边是个小小正方形形符号,它们类类似于录录音机上上的按钮钮。运行行窗体的的另一个个方法是是按F55键。小结结:学习习完本学学时后,我们具具备了用用于程序序界面设设计的基基本知识识。我们们对控件件不在感感到陌生生,也明明白如何何向工作作表和窗窗体添加加控件,但控件件的内容容很多,需要边边用边理理解.此此后,我我们将从从界面转转移到学学习编写写代码,并最终终将二者者融合。让我们们准备好好学习编编程吧!3.7 疑疑难解答答问问题1.怎样决决定控件件的位置置?如何何选择添添加到工工作表还还是添加加到用户户窗体?解解答:这这完全取取决于个个人的爱爱好和应应用程序序的用户户.如果果用户对对EXCCEL非非常熟悉悉,那么么他们也也许更希希望以工工作表的的方式操操作.在在这种情情况下不不妨直接接在工作作表上创创建控件件;如果果你的用用户对EEXCEEL不熟熟悉或者者你需要要给用户户一个专专业的界界面感觉觉,那么么应该使使用用户户窗体.问问题2.什么情情况下该该用选项项卡条而而不是多多页控件件?解答:如果每每一页具具有相同同布局,则应选选择选项项卡条,否则应应该选择择多页.本本节作业业11.思考考:1)列列举两种种可以让让用户进进行多选选一的控控件。2)如何将将控件与与单元格格链接起起来。2.判断:11)只有有在VBBA编辑辑器中才才能添加加用户窗窗体。2)在VBBA编辑辑器中看看到的窗窗体网格格线在运运行时会会自动显显示。3.填空:( )是显示示静态文文本的控控件。 第四课 理解变变量和变变量的作作用(11)4.1 代码存存在的位位置:模模块 VBBA代码码必须存存放在某某个位置置,这个个地方就就是模块块。有两两种基本本类型的的模块:标准模模块和类类模块。模块中中的每个个过程或或者是函函数过程程,或者者是子程程序概念念.本课课的最后后部分将将讨论函函数过程程和子程程序的区区别。 新术术语:模块块:它是是作为一一个单元元保存在在一起的的VBAA定义和和过程的的集合。类类模块:VBAA允许你你创建自自己的对对象,对对象的定定义包含含在类模模块中。你你的大部部分工作作集中在在标准模模块中(简称为为模块)当录制制宏时如如果不存存在模块块,EXXCELL自动创创建一个个。EXXCELL和VBBA不关关心代码码存放在在哪一个个模块中中,只要要代码存存在于打打开的工工作簿中中即可。4.22 对模模块的概概览 过程程被定义义为VBBA代码码的一个个单元,过程中中包括一一系列用用于执行行某个任任务或是是进行某某种计算算的语句句。工作作簿的每每个过程程都有唯唯一的名名字加以以区分。 有两两种不同同的过程程:子程程序和函函数过程程。子程程序只执执行一个个或多个个操作,而不返返回数值值。当录录制完宏宏查看代代码时,所看到到的就是是子程序序。宏只只能录制制子程序序,而不不能录制制函数过过程。一一个子程程序的例例子如清清单4-1所示示。 程序清单单4-11 子程程序的例例子 Sub cmddSmaallFFontt_Cllickk()WWithh Seelecctioon.FFontt.Naame="Arriall".FFonttStyyle="Reegullar"".Siize=16EEnd WitthEnnd ssub上面面列出的的过程实实际上是是一个事事件过程程。通过过它的名名字,就就可以知知道这是是一个事事件过程程。这个个过程的的名字是是由一个个对象的的名字CCmdSSmalllFoont和和一个事事件的名名字Cllickk组成的的,两者者之间用用下划线线分开。如果还还不明白白,可以以告诉你你,CmmdSmmalllFonnt是一一个命令令按钮的的名字。也就是是说,当当单击这这个命令令按钮时时,就会会运行这这个事件件过程。 函数数过程通通常情况况下称为为函数,要返回回一个数数值。这这个数值值通常是是计算的的结果或或是测试试的结果果,例如如Fallse 或Trrue.正如前前面所说说,可以以用VBBA创建建自定义义函数。实际上上可以在在工作表表上使用用你创建建的函数数。程序序清单44-2是是一个计计算价格格的100%为运运费的简简单例子子。 程序清单单4-22 简单单的用户户定义函函数示例例。 Publlic Funnctiion Shiippiing(Priice)Shiippiing = PPricce * 0.1Ennd FFuncctioon请注注意,这这个函数数使用一一个参数数(Prricee).子子程序和和函数都都可以使使用参数数。不论论Priice的的值是多多少,它它都将决决定运费费额。PPricce可以以是数字字和单元元格引用用。函数数返回计计算出来来的运费费,这个个函数可可以用在在单元格格中。 A B 1 PPricce 110022 Shhipppingg =sshipppinng(BB1)4.2.11 创建建过程 创建建第一个个过程需需要两个个基本步步骤。首首先,需需要向工工作簿中中添加一一个模块块。接着着需要向向模块中中添加一一个工程程。对于于创建的的每一个个应用程程序,只只需添加加一次模模块。可可以使用用多个模模块,但但这是不不必要的的。某些些开发者者喜欢使使用多个个模块,以便根根据他们们的目的的或者窗窗体对过过程进行行组织。在本练练习中,创建的的过程只只显示一一个消息息框。 在本本练习中中创建的的过程只只显示一一个消息息框。在在本练习习中使用用Msggboxx是为了了提供一一个可见见的例子子,虽然然我们还还没有介介绍过MMsgbbox语语句,但但是在本本例中将将使用它它。要创创建该过过程,请请按如下下步骤进进行: 1)打开一一个新工工作簿。22)选择择"工具具"-""宏"-"Viisuaal BBasiic编辑辑器",打开VVBA编编辑器窗窗口。3)在VVBA编编辑器的的左面,可以看看到“工工程资源源管理器器”窗口口。在工工程资源源管理器器窗口的的“Thhiswworkkboook"上上单击鼠鼠标右键键,选择择“插入入”-“模块”,这样样就将一一个模块块添加到到应用程程序中了了。(如如果你没没有看见见“工程程资源管管理器”窗口,可以按按Ctrrl+RR)4)选选择“插插入”“过程”,显示示“添加加过程”对话框框。5)输输入“第第一个工工程”作作为过程程名字。在“类类型”分分组框中中,确认认选择了了“子程程序”。单击“确定”按钮。这样一一个新的的过程就就添加到到模块中中了。可可以在模模块中看看到以 Pubblicc Suub 第第一个过过程()开始,以