是否可以创建选项按钮开关效果?

时间:2012-09-14 18:13:05

标签: excel vba

这样的事情:

Private Sub opt01_Click()
If opt01.Value = True Then
opt01.Value = False
Else
opt01.Value = True
End If

它适合我的formDesign,而不是寻找和导入一些类似的小图片。

1 个答案:

答案 0 :(得分:1)

因为当Click事件运行时,OptionButton的值始终为true,所以您需要将其所需的值存储在变量中。下面是在工作表1上名为选项按钮1的工作表中使用表单控件选项按钮的示例。此方法存储在模块中。

Private optionClicked As Boolean
Sub OptionButton1_Click()
    Dim o As OptionButton
    Set o = Sheets(1).Shapes("Option Button 1").OLEFormat.Object
    o.Value = Not optionClicked
    optionClicked = Not optionClicked
End Sub

但是请注意,使用此方法,单击任何选项按钮将使所有其他选项按钮为false。因此,要使用多个选项按钮作为复选框,您需要存储选项按钮的正确值(可能在数组中)...并在每次单击任何选项按钮时更正值。

您确定不能使用复选框吗?