问题描述:

I'm trying to check the value of these simple radio button groups but my syntax is off, does anyone know what to change?

Note: they are Excel Option Buttons not ActiveX ones and they are not on a userform.

 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

网友答案:

Try this

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
相关阅读:
Top