我有一个表单控件组框在Excel工作表中,我有多个单选按钮,其中只有一个按钮将被选中,我需要找出哪个按钮被选中使用VBA。我已经写了这个代码,但它不工作,并得到错误,对象不支持该行的此属性“对于buttonGroup中的每个按钮。Controls”。请指导我一些方法来实现这一点。
Sub IdentifySelectedRadioButton()
Dim buttonGroup As Object
Dim button As Object
' Set the button group name
Set buttonGroup = Worksheets("Sheet1").Shapes("Group Box 1").OLEFormat.Object
' Loop through each button in the group
For Each button In buttonGroup.Controls
' Check if the button is selected
If button.Value = True Then
MsgBox "Selected radio button: " & button.Caption
Exit Sub
End If
Next button
' If no button is selected
MsgBox "No radio button selected."
End Sub
2条答案
按热度按时间x7rlezfr1#
VBA不能很好地处理这种情况。通过在“监视”窗口中搜索值,我能够找到似乎有效的方法
注意事项
1.实际的optionButton属性位于
button.OLEFormat.Object
上1.在监 windows 口中,变量
b
的GroupBox已经设置好,我可以看到它的名称,但是试图通过代码访问它会导致同样的错误。1.我没有继续研究这个问题,所以这个场景仅限于工作表上的单个GroupBox
1.一个我几乎忘记了-控制是在工作表上不包含在groupbox
虽然这不是一个完全令人满意的答案,但我希望这至少能给你一些线索,让你知道为什么你会受苦
xuo3flqw2#