窗体UserForm——选项按钮
时间:2022-07-22
本文章向大家介绍窗体UserForm——选项按钮,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
选项按钮被设置为一种可以被选中状态的按钮,而且有一个特性,在一个父对象下,只能有一个选项按钮被选中。
还是以前面激活工作表的功能为例:
在不知道有多少个工作表的时候,如何显示一个窗体界面,出现每一个工作表名称的选项,选中后按按钮激活工作表。
由于不确定工作表的数量,所以不能通过拖拽的方式添加指定数量的控件,这时候就需要用到UserForm的Initialize事件,在UserForm初始化的时候来添加控件,首先仍然拖拽一个命令按钮在窗体的最上面,修改Caption为激活,然后进入窗体代码编辑:
Private Sub UserForm_Initialize()
'定义MSForms.OptionButton变量
Dim ob As MSForms.OptionButton
Dim i As Long
Dim itop As Integer
'在按钮的位置下面开始添加选项按钮
itop = CommandButton1.Top + CommandButton1.Height + 10
For i = 1 To Worksheets.Count
'添加选项按钮
Set ob = Me.Controls.Add("Forms.OptionButton.1")
'以工作表名称设置选项按钮内容
ob.Caption = Worksheets(i).Name
'设置选项按钮的位置
ob.Left = 5
ob.Top = itop
'记录下一个选项按钮应该出现的位置
itop = itop + ob.Height + 10
Next
'设置窗体的高度,防止工作表太多看不到
Me.Height = itop + 20
End Sub
CommandButton1就是手动拖拽的命令按钮,在属性窗口里可以看到,它代表的是名称,相当于是一个变量名称,和Caption是不一样的,Caption只是显示的文本。
控件的Top 、Height、Left、Caption等属性,都可以通过窗体设计界面,先拖拽一个相应的控件,然后在属性窗口查看控件所具有的属性。
关键字Me,在这里就是指添加的窗体UserForm1,这个关键字还可以在类模块里使用,所代表的也就是那个类。
编辑按钮的激活工作表代码:
Private Sub CommandButton1_Click()
Dim i As Long
Dim t As Control
'遍历窗体上的控件
For i = 0 To Me.Controls.Count - 1
'找到的是MSForms.OptionButton控件
If VBA.TypeName(Me.Controls(i)) = "OptionButton" Then
'MSForms.OptionButton控件选中状态Value属性为True
If Me.Controls(i).Value Then
'激活工作表
Worksheets(i).Activate
Exit Sub
End If
End If
Next
End Sub
这样不论有多少个工作表(太多了也不行,窗体会太长超出显示器!),窗体界面显示的时候所有工作表都可以在上面选择了,然后点激活按钮就可以激活相应的工作表:
这样用代码的方式添加控件也让使用者更方便的控制控件的位置,修改起来也更灵活。
- 兼容IE6 a标签hover特殊效果
- 基于机器学习方法的POI品类推荐算法
- 细说ReactiveCocoa的冷信号与热信号系列(3)
- pageResponse - 移动端适配框架
- R语言与机器学习(分类算法)logistic回归
- 一步步教你弹性框架-上篇
- 【编程基础】C++初学者需掌握的10个C++特性(中)
- 一步步教你弹性框架-中篇
- 细说ReactiveCocoa的冷信号与热信号系列(2)
- 谈谈个人网站的建立(三)—— 定时任务
- 细说ReactiveCocoa的冷信号与热信号系列(1)
- 【美团技术团队博客】前端组件化开发实践
- Spring中Bean
- 跟Google学写代码--Chromium/base--windows_version源码学习及应用
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法