- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Excel 中ActiveX控件与公式及VBA的互动.doc
Excel?中ActiveX控件与公式及VBA的互动
作者:顾斌 ? 来源:本站原创 ? 更新:12/15/2005
Microsoft Excel作为制作电子表格的利器,除了拥有功能强大的内建函数,用于执行简单或复杂的计算以外,还拥有很多自动化的功能。特别是自Excel 97以后,随着ActiveX控件的嵌入以及VBA的强化,利用Microsoft Excel可以制作出自动化程度更高、功能更为强大的电子表格,因而在我们的工作及生活中也得到越来越广泛的应用。本篇以一个实际案例从一个侧面来阐述在Excel 中,配合使用公式、ActiveX控件及VBA,可以起到事半功倍的效果。 《营养指南》是在Microsoft Excel中制作的一款具有一定实用价值的电子表格,包含5个工作模块,分别由5张工作表完成,可以提供570多种常用食物的营养成分查询、提供单一营养素在不同食物中的含量丰富程度查询以及提供个性化的“营养分析师”,帮助您规划自己的饮食,或提供营养补充之参考等功能。主界面图一所示: 图一:工作表主界面
限于篇幅,这里就以上主题引用第一个功能模块“常用食品营养成分查询”稍加阐述,以期抛砖引玉。“常用食品营养成分查询”工作表已命名为“Food_Composition”,该工作表中共使用了三个控件:两个列表框(ListBox)控件和一个文本框(TextBox)控件,工作表界面及控件说明如图二所示: 图二:“常用食品营养成分查询”之工作表界面及控件说明 由于食物名称及种类繁多,如果单靠一个列表框或使用单元格数据有效性之序列等方法来进行选择,或利用树状结构等方法来实现该功能的话,列表会变得很长且可读性较差,会给实际使用带来较大的不方便。而使用两个适当高度的列表框,一个用来列示食物的大类(表中为ListBoxFoodMainType),当选定某类食物时,再使用另一个列表框来列示所有属于该类食物的食品名称以供用户选择(表中为食物小类列表框ListBoxFoodSubType),则比较符合使用习惯,也能正确反应出数据结构和相互之间的关联性,所以这里使用了两个列表框,它们之间的互动也就是本篇要讲述的内容。 这两个列表框控件的属性设置是不一样的,其中,ListBoxFoodMainType的MultiSelect属性设置为fmMultiSelectSingle,这可以给列表框中的选项制造选项按钮的效果,使工作表看起来更为生动,也符合我们的使用习惯;而ListBoxFoodSubType的MultiSelect属性为默认值以维持整体感,两者的背景及前景颜色分别设为浅蓝色及深蓝色,以保持工作表界面色系的统一,改观工作表的视觉效果。 友情提示:工作表中控件属性的设置 在工作表中点击菜单-视图-工具栏-Visual Basic,然后点击设计模式图标 ,之后右击相关控件,选择“属性”即可打开属性对话框,在属性对话框中可以对该控件进行各项属性设置。 要使控件实现丰富的功能,达成预期目的,就必须将之与工作表和/或VBA代码联系起来。下面我们就给这两个ListBox控件添加相关内容,同时介绍工作表中使用的一些公式。 首先给食物大类列表框ListBoxFoodMainType添加列表项。给列表框添加列表项可以通过设置其ListFillRange属性来完成,比如有A、B、C、D四个选项,保存在当前工作表的A1到A4单元格中,那么要将这四个选项添加到列表框控件中,只要在该列表框的ListFillRange属性中填上“A1:A4”即可,它的意思是告诉列表框从A1到A4单元格中提取数据作为列表项。但是,如果待添加的数据项不在当前工作表中的话,就不能用这种方式来加载列表框的数据源,但实际工作中,为了便于数据的管理和维护,经常会把一些常用数据放在另一个工作表中以待引用,这时候,我们可以通过命名待引用数据源区域,然后将该名称赋值给ListFillRange属性即可实现跨工作表的数据引用,在本例中,所有待引用数据均放置在一个名为“DATA”的工作表中(该工作表通常处于隐藏状态),并预先对不同类别的数据区域进行了命名以供不同的控件引用,食物大类列表框ListBoxFoodMainType的列表项数据源在此命名为List_Food_Type_Main,如图三所示,图四为ListFillRange的属性设置: 图三:数据源List_Food_Type_Main
图四:ListFillRange属性设置:?
? 接下来就是构筑这两个列表框之间的连通。从以上的分析得知,当我们选中某类食物时,只要能动态获取该类食物中所有食品名称的列表,并将该列表传递给食物小类列表框作为其列表项,就可以
文档评论(0)