Excel VBA选项按钮 - 如何取消选择它们?

时间:2015-06-18 08:56:15

标签: excel vba excel-vba

我试图取消选择radio buttons,我无法弄清楚如何。 我的最新尝试看起来像这样:

Sheet1.Shapes("STCT" & strNumbers).ControlFormat.Value = xlOff

radio button的名称是STCT04(或05,或06,或者......得到模式),名称的数字部分存储在字符串变量中。 我也试过这个

Sheet1.Shapes("STCT" & strNumbers).Value = False
没有运气。我用谷歌搜索了一下,在95%的案例中,评论者提出了上面提到的两个中的一个,问题海报总是说它有效。 它不适合我。

那我该怎么办?

编辑: 我有一个可供选择的选项列表,每个选项都有一个指定的按钮。我有10个选项,但用户有时应该只能选择其中的10个。(这取决于我的工作簿中的其他内容。)在这些情况下(如果选项不适用)我想将Button的“value”或“enabled”属性设置为False。 当我这样做(更改两个属性中的任何一个)时,也会取消选择以前存在的每个选择。 (好像单击了宏调用者按钮一样。) 我希望这是有道理的。

Ex:假设选择了选项2。决定不是最终决定,但我选择了。然后一些东西改变并从选项列表中删除选项3。当我更改Button3的两个上述属性之一时,选项2也会更改为未选中。

1 个答案:

答案 0 :(得分:3)

使用Value属性。

按ActiveX选项按钮:

Dim ole As OLEObject
Set ole = Sheet1.Shapes("STCT" & strNumbers).OLEFormat.Object

Dim op As MSForms.OptionButton
Set op = ole.Object
op.Value = False

按表单选项按钮:

Dim op As OptionButton
Set op = Sheet1.Shapes("STCT" & strNumbers).OLEFormat.Object
op.Value = False