Excel表单控件和ActiveX控件使用详解_第1页
Excel表单控件和ActiveX控件使用详解_第2页
Excel表单控件和ActiveX控件使用详解_第3页
Excel表单控件和ActiveX控件使用详解_第4页
Excel表单控件和ActiveX控件使用详解_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、如果使用控件,需要将Excel VBA “开发工具”加载到菜单栏a)点击“文件菜单”b)在打开的界面中点击“选项”菜单c)在打开的Excel选项界面中点击“自定义功能区” 具”,点击“确定”按钮就可以,将开发工具显示在,并按照下图勾选“开发工Excel的菜单栏在VB题程中Excel提供了两种控件,表单空控件和ActiveX控件,相信好 多非开发的专业人员都搞不清楚两个的区别, 本文就以Excel2016版本为例,和 大家一起讨论下这两种控件的区别和用法,大家一起相互学习、交流沟通。1两种控件获取的位置,具体操作如下:蛆M部5魏区、展下涮佗一m*X工用酢审三n部T盍*>.1S3尊电卡国日,

2、c*£ XH_=富学曰心3ftA定港看入单三恪_曲人国就 墓人南广 嘲匚开扛工窿施和三 .M3梏 祟制*m二作*拶 安井三工中 套情.然 喇-十二H覃降.手布于 百牛六:+量 ,法无力 另存为百手皇方范力:, 生&厚上_于良岫苣 阳目三三六行 科四里" 图与二 心一一 国骷字 旧仁 E+E 出螭笳 团日位入 “24寸与 园国仁£ '1035 30 ltl0't.fi 为选 叫升MB |导人用出值*回团财HJ日坤班,ysskib |等西时 至多金值0.d)在Excel主界面中点击“开发工具”,打开VBA开发相关菜单功能,OK马上 我们的正主就

3、要到了。H目尿性不古亏和切囱煮惜框斜I开匕 AA 丽哂公式M出WM 曲整M InquireFvol Q MfiVIWT*1点,于用仃一引不J i£rfrV*t 每和 txLd comfein Xitel巾甄工1e)OK,在VBAFF发工具相关菜单中,点击“插入”按钮,就可以看到“表单控件” 和“ActiveX控件” 了,下面我们就来一探究竟,这两种差距的主要区别日句b d审刘t加加布后 餐式 如频展lnqUlra P&wer Pivot71果制去回飞毛尔:甘下)讨轨加 Ck«l COMtUK峻3目恳性得喧映时酬d£苴营中洋L源盲旷曷包,;团运行理琥强锈件X

4、ML二团回囹国朝比9i hie可Fcnwsrraff廿-1国团国回g囹国片0a轧U_A _D X C I Dr II-2两种控件的主要区别和优缺点功能表单控件ActiveX 控件是含口以不编 程关联单元格是否鼠标事件的支丁仅支持click事件BeforeDragOver持1BeforeDropOrPate Click DblClick Error GotFocus KeyDown KeyPress KeyUp LostFocus MouseDown MouseMove MouseUp属性配置比较无属性可以修改0-HD由任皿意 一60-0 E出可修改一系列相关属性, 在VBA开发的过程中可以 控

5、制。表单按钮£ *必田加"O1 rrJBf.,* flnmiRl$由W3-W:»J|J. 1wj c i一* Jilr<|IS-r-tiTiF-rs'j-K = b*-F IMaa h*>u>lariFiba-u "faknvri' a.i aainbb4H”!-h't-4!垢工IIT,!"""UsiM.iuii是含可以改变T是,通过DrawingObjects或者通是,可以通过Nam©对象控件名称,供VBA调用过对象名称访问,如下两种方式: Sheet1.DrawingO

6、bjects(" Check Box 3").ValueActiveSheet.CheckBoxes(" Check Box 3").Value的方式访问,如下方式:Sheetl. CheckBox3Value是,可以通过控件来控制图表是否可以在Chart图表中 添加控件通过以上比较,发现 ActiveX控件更加适合熟悉 VBA编程的专业人士使用, 具有丰富的响应事件。但是窗体控件也具有其先天的优势, 可以在不编程的情况 下和关联单元格,并可以在 Chart图标中添加窗体控件。所以,两种控件的使用,需要根据具体使用场景进行有效的选择。3如何使用两种控件3

7、.1 使用ActiveX控件控制多条件组合动态筛选3.1.1 准备样例数据日期购买者金额5月1日张三油费¥ 100.005月15日张三食品¥ 212.005月17日李四运动¥43.005月21日士五书籍¥ 143.005月2日张三食品¥ 312.005月20日士五¥67.005月25日王而门票¥ 458.003.1.2 插入ActiveX控件一_ _3Z蛔买者张三类型油费日期B购买者 K3类型0金额H5月1日弓经考 100.005月15日张三食品¥ 212.005月17日李四运动¥ 43叱5月21日十力书

8、籍¥ 143.005月2日恒食品量312.005月20日±±L音乐¥ 67.005月25日±±L门票¥ 4533.1.3 为checkbox添加单击事件,动态控制筛选Private Sub CheckBox1_Click()Dim criterial2 As StringDim myRange As RangeDim flag As Booleanflag = Sheet1.CheckBox1.ValueSet myRange = Range("D4:D11")'获取要筛选的值criterial2

9、 = LTrim(RTrim(Range("D2").Value)If criterial2 <> "" And flag = True Then'myRange.AutoFilter field:=2, Criteria1:=criterial2, VisibleDropDown:=FalsemyRange.AutoFilter Field:=2, Criteria1:=criterial2ElsemyRange.AutoFilter Field:=2End IfEnd SubPrivate Sub CheckBox2_Click(

10、)Dim criterial3 As StringDim myRange As RangeDim flag As Booleanflag = Sheet1.CheckBox2.ValueSet myRange = Range("E4:E11")'获取要筛选的值criterial3 = LTrim(RTrim(Range("F2").Value)If criterial3 <> "" And flag = True Then' VisibleDropDown:=False 使用了这个参数,筛选就不出现下拉箭头

11、'myRange.AutoFilter field:=3, Criteria1:=criterial3, VisibleDropDown:=FalsemyRange.AutoFilter Field:=3, Criteria1:=criterial3ElsemyRange.AutoFilter Field:=3End IfEnd Sub3.1.4 AutoFilter函数使用说明AutoFilter :使用“自动筛选”筛选一个列表。用法: AutoFilter(Field, Criteria1,Operator As XlAutoFilterOperator=XlAnd, Criter

12、ia2, VisibleDropDown,subField)参数名称必选参数类型描述Field选用Variant筛选基准字段自左到右 开始依次为:1,2,3.N。 用法示例:Field:=1Criteria1选用Variant筛选条件(一个字符串;例如,“101”。胰用“=” 可查找空字段,或者使用“ <>”查找非空字段。如果省略该参数,则搜索条件为Allo如果将 Operator 设置为 xlTop10Items , 则Criteria1指定数据项个数(例如,“ 10”。)Operator选用XlAutoFilterOperator指定筛选类型的 XlAutoFilterOper

13、ator常量之一。Criteria2选用Variant第二个条件(字符串)。与Criteria1和Operator 一起组合成复合筛选 条件。也用作日期字段的单一条件(按日、月 或年筛选)。后跟一个数组,该数组用于详述和筛选 Array(Level, Date)。其中,Level 为 0-2 (年、月、日),Date为筛选期内的一个有效日期。SubField选用Variant对其应用条件的数据类型中的字段(例如,来 自地理位置的“人口”字段或来自股票的“交易 量”字段)。省略此值目标是“(显示值)”。VisibleDropDown选用Variant如果为True,则显示已筛选字段的 AutoF

14、ilter 下拉箭头。如果为False,则隐藏已筛选字段的 AutoFilter下拉箭头。默认情况下为True。3.1.5 XlAutoFilterOperator 枚举(Excel)指定用于关联两个筛选条件的操作符0名称值说明xlAnd1Criteria1 和 Criteria2 的逻辑与xlBottom10Items4显小最低值项(在Crileria1中指正的项目数)xlBottom10Percent型显小最低值项(在Crileria1中指te的百分比)xlFilterCellC010rutf-8单元格颜色xlFilterDynamic11动态筛选xlFilterFontC010r第字体颜

15、色xlFilterIcon10筛选图标xlFilterValues步筛选值xlOr双面Criteria1 或 Criteria2 的逻辑或xlTop10Items第三章显小最曷值项(在Crileria1中指正的项目数)xlTop10Percent5显小最曷值项(Crileria1中指te的百分比)3.2 使用表单控件控制Chart显示3.2.1 准备样例数据销量统计产品A产品B产品CQ1123Q2456Q3789Q42643.2.2 使用OFFSET函数准备图表区域显示数据OFFSE用数:从指定的基准位置按行列偏移量返回指定的引用用法:=OFFSET(弓I用单元格,行数,列数,返回弓I用高度返

16、回引用宽度)OFFSET(Reference, Rows, Cols, Height, Width)第1个参数Reference :可以是单元格,也可以是单元格区域第2参数Rows:距引用单元格左右上角或下角的行数;当 Rows为正数时, 表示距引用单元格左下角的行数;当 Rows为负时,表示距引用单元格左上角 的行数;如果指定的 Rows超出表格范围,将返回 #REF!错误,第3个参数Cols:距引用单元格左边或右边的行数;当 Cols为正时,表示距 引用单元格右边的行数;当Cols为负时,表示距引用单元格左边的行数。如果 指定的Cols超出表格范围,也返回 #REF!错误。第4 (Heig

17、ht )和第5 (Width)参数:为可选项,Height表示返回引用的高度; Width表示返回引用的宽度;当引用一个单元格时,Height和 Width都为1;当引用多个单元格时,Height和Width可以都指定与引用单元格同样的高度和 宽度,也可指定为大于引用单元格的高度和宽度。如果省略Height和Width ,将返回与引用单元格同等大小的区域。=OFF5ET(D4J0,SG$15)C _L_ DEF _J_ G H稳量统计产品A产品B产品C01123Q2456。378&Q4264此处为控制动态显示的偏移量。他et函数81s参013,Q2603£Q443.2.3 绘

18、制图表,并插入表单控件A)在开始菜单中选择“插入”,才打开的菜单工具栏中, 选择“柱形图或者条形图”按钮,选择 自己需要的图表,并选择数据集:如下图B)、在VBA开发工具相关菜单中,点击“插入”按钮选择“表单控件”和中的“按 钮”,放在图表的空白区域3.2.4 VBA编程,控制OFFSET的偏移量A)、给“图表1”、“图表”、“图表”三个按钮指定Click事件所一忤博IMGM 恨聃,1"的1争用)-I一藕按钮4 ciJiTFRiRM式等偈= 1End Siib_/接口7_山50Ian群 *1 力=2Ea岫 Sub JSffllO ClirLORinea GieT1-3Eftd S-u

19、bB)具体代码如下:Sub 按钮 4_Click()Range("G16") = 1 '图表'Click 事件End SubSub 按钮 7_Click()Range("G16") = 2 '图波 Click 事件End SubSub 按钮 10_Click()Range("G16") = 3 '图布 Click 事件End Sub3.2.5 如果为了美观可以考虑用图表遮盖数据区域,只留下原始数据域4两种控件的控制方法列表4.1 表单控件控件类型访问方法标签方法1方法2Sheet1.Labels(&qu

20、ot;标签 1").Caption ="我是标签 1"Sheet1.DrawingObjects("标签 1").Caption ="我是标签 1"按钮方法1方法2Sheet1.Buttons("按钮 1").Caption ="我是按钮 1"Sheet1.DrawingObjects("按钮 2").Caption ="我是按钮 1"复选框方法1方法2Sheet1.CheckBoxes("复选框 1").Value = xlOnSheet1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论