excel vba – 检查单选button是否被选中?

BT

我试图检查这些简单的单选button组的价值,但我的语法是closures的,有谁知道该怎么改? 注意:它们是Excel选项button不是ActiveX的,它们不在用户窗体上。

If Worksheets("Input").Shapes("Option Button 3").Select.Value = xlOn Then MsgBox "fir" ElseIf Worksheets("Input").Shapes("Option Button 4").Select.Value = xlOn Then MsgBox "sec" Else MsgBox "none" 'in case they were deleted off the sheet End If 

尝试这个

 Sub ZX() Dim shp3 As Shape Dim shp4 As Shape On Error Resume Next Set shp3 = Worksheets("Input").Shapes("Option Button 3") Set shp4 = Worksheets("Input").Shapes("Option Button 4") If shp3 Is Nothing Then If shp4 Is Nothing Then MsgBox "none" 'in case they were deleted off the sheet ElseIf shp4.ControlFormat.Value = xlOn Then MsgBox "sec" Else MsgBox "Only Button 4 exists and it is off" End If Else If shp3.ControlFormat.Value = xlOn Then MsgBox "fir" Else If shp4 Is Nothing Then MsgBox "Only Button 3 exists and it is off" ElseIf shp4.ControlFormat.Value = xlOn Then MsgBox "sec" Else MsgBox "Both exists, both are off" End If End If End If End Sub