分享

VBA窗体之单选和复选框的应用 | VBA实例教程

 gblhp 2015-02-16

除非注明,文章均为 战战如疯 原创,转载请保留链接: http://www./cat1/285.html,VBA交流群273624828。

今天我们来看VBA窗体中单选项和复选框的基本用法。首先应该知道的是单选按钮和复选框一般都是和框架结合使用的,因为在一个框架内的按钮是自成体系的,不会和其他框架内的按钮相互干扰,即使你的窗体中只有一组选择按钮,还是建议你使用框架。我们用下面这样一个窗体来说明单选和复选框的用法。

danxuanfuxuan

上面的窗体我插入了两个框架,其caption分别改为“性别”和“爱好”。按钮的默认名称都是OptionButton1,OptionButton2等等,为了直观我们将其名称改为相应的“男”、“女”等,将Caption属性也改成相应的内容。现在我们的性别这个框架中就有两个单选按钮,名称分别是“男”、“女”,其Caption也分别是“男”,“女”。双击单选按钮“男”,输入下面的代码

Private Sub 男_Click()
MsgBox "你选择了" & 男.Caption
End Sub

同样双击单选按钮“女”,输入下面的代码

Private Sub 女_Click()
MsgBox "你选择了" & 女.Caption
End Sub

这时运行窗体,在性别中任选一个,就会显示你选择的是哪一个,也就达到了我们获得结果的目的。

下面来看复选框。在框架“爱好”中我们放了三个复选框,其名称和Caption也都按相应的内容来更改。那下面的问题仍然是怎么得到我们选取的结果呢?这里介绍两种方法,先来看第一种

Private Sub CommandButton1_Click()
Dim s
If 足球.Value = True Then
s = s & " " & 足球.Caption
End If
If 篮球.Value = True Then
s = s & " " & 篮球.Caption
End If
If 乒乓球.Value = True Then
s = s & " " & 乒乓球.Caption
End If
MsgBox s
End Sub

上面的代码用到了复选框的value属性,当复选框被选中时其value为true,否则为false,所以我们对三个复选框的value值分别进行判断,为True的就将其Caption放到字符串s中,也就达到了取结果的目的。

当然有的人会说这样列表起来太麻烦,如果我的选项很多很多那不是要麻烦死了,那我们来看第二种方法:

Private Sub CommandButton2_Click()
Dim ChBox, s
For Each ChBox In Frame2.Controls     '对Frame2中的所有控件进行遍历
If TypeName(ChBox) = "CheckBox" Then   '如果该控件是复选框
If ChBox.Value = True Then      '判断复选框的value
s = s & " " & ChBox.Caption
End If
End If
Next
MsgBox s
End Sub

For Each ChBox In Frame2.Controls 很好理解,就是对框架Frame2中的所有控件进行遍历,那怎么判断该控件是不是一个复选框呢?用TypeName(ChBox) = "CheckBox",TypeName是取得控件的属性,复选框就是“CheckBox”,单选框就是“OptionButton”等等,当然这里Frame2中只有复选框,所以不加这个判断也是可以的。后面就是判断该复选框的Value,如果Value为True代表已选中,不再赘述。
本节示例文件下载地址:http://pan.baidu.com/s/1pJG30fD

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多