Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
12
返回列表 发新帖
楼主: 蝶·舞

[已解决]VBA窗体中有好几个选项按钮,该如何返回“选择了哪个按钮”

[复制链接]
发表于 2012-10-18 13:13 | 显示全部楼层    本楼为最佳答案   
示例2.rar (9.22 KB, 下载次数: 89)
回复

使用道具 举报

发表于 2012-10-18 16:34 | 显示全部楼层
本帖最后由 extyg 于 2012-10-18 16:39 编辑

11楼的代码有个风险,若Frame里有个CheckBox,同时又被选中的话,就不符合楼主的要求了。
Private Sub CommandButton1_Click()
    Dim mycontrol As Control
    For Each mycontrol In Me.Controls
        If TypeName(mycontrol) = "OptionButton" Then
            If mycontrol.Value = True Then
                MsgBox mycontrol.Caption
           End If
        End If
    Next
End Sub
回复

使用道具 举报

发表于 2012-10-18 17:31 | 显示全部楼层
extyg 发表于 2012-10-18 16:34
11楼的代码有个风险,若Frame里有个CheckBox,同时又被选中的话,就不符合楼主的要求了。
Private Sub Com ...

说的是,谢谢extyg
{:011:}
回复

使用道具 举报

 楼主| 发表于 2012-10-18 19:23 | 显示全部楼层
extyg 发表于 2012-10-18 16:34
11楼的代码有个风险,若Frame里有个CheckBox,同时又被选中的话,就不符合楼主的要求了。
Private Sub Com ...

那如何把显示的结果返回到单元格中呢?
回复

使用道具 举报

发表于 2012-10-18 19:48 | 显示全部楼层
借用12#,比如把第1个值赋给A1,第2个值给A3。
Private Sub CommandButton1_Click()
    Dim mycontrol As Control, i
    For Each mycontrol In Me.Controls
        If TypeName(mycontrol) = "OptionButton" Then
            If mycontrol.Value = True Then
                i = i + 1
                Cells(i, 1) = mycontrol.Caption
           End If
        End If
    Next
End Sub
不知要放到哪儿,再改吧
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-28 02:34 , Processed in 0.258939 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表