如何检查选项按钮组中是否至少选择了一个选项按钮

时间:2013-04-12 10:34:07

标签: excel-vba vba excel

我在userform上有选项按钮组,需要验证每个组中至少有一个选项按钮是否已被点击。有没有办法在不单独检查每个按钮的值的情况下这样做?可以引用整个选项按钮组吗?

1 个答案:

答案 0 :(得分:0)

另一种方法是在每个组的加载时设置默认值。这样就没有循环,没有额外的公共变量,也没有理由验证组中的选项按钮是否被勾选。

编辑以展示示​​例(我也承认它也是一个笨重的黑客):

如果您不反对使用一系列单元格来保存值,则可以使用选项按钮的“ContolSource”属性并将其设置为单元格。类似的东西:

Private Sub UserForm_Initialize()
    Sheet1.Range("A:B").Delete
' Group 1
    OptionButton1.ControlSource = "Sheet1!A1"
    OptionButton2.ControlSource = "Sheet1!A2"
' Group 2
    OptionButton3.ControlSource = "Sheet1!B1"
    OptionButton4.ControlSource = "Sheet1!B2"
End Sub

现在,您可以计算每列中具有值的单元格数。如果列具有至少1个值,则表示您已为该组添加了选项按钮