从 OptionButton 中确定 GroupBox 时出错,但在 locals window 中扩展变量属性修复了问题

Determining GroupBox from OptionButton errors out but expanding variable properties in locals window fixes issue

我有一个 Excel sheet set-up,在组框内有四个单选按钮(选项按钮)。它看起来像这样:Excel Sheet Setup.

下面的代码应该 return 组框的标题 ("Buttons")。

Sub rad_change2()
    Dim button As OptionButton
    Set button = ActiveSheet.OptionButtons.Item(2)
    Debug.Print (button.GroupBox.Caption)
End Sub

当代码运行s,there is an error on the Debug.Print line. When this happens, I can go into the locals window, and click the [+] icon to expand the properties for button.在locals中展开属性后window,我可以在代码上按resume,代码完成运行ning应该如此,return 是组框的标题。

我需要做什么才能将代码发送到 运行 而不会出现错误?为什么扩展本地 windows 中的 object 属性可以解决错误?代码似乎是正确的,因为它确实做了我需要它做的事情,但我需要它在没有任何错误的情况下这样做。

我正在使用 Excel 到 Office 365 版本 2003(内部版本 12624.20320)。

除了扩展按钮属性以使代码在断点后完成工作外,我发现将鼠标悬停在按钮变量上以预览其值也可以。这让我想知道在我尝试获取组框 属性 的标题 属性 之前是否需要访问按钮的值或 属性。我不确定为什么我必须这样做,但它最终起作用了。

下面的代码可以解决问题。

Sub rad_change2()
    Dim tempString As String
    Dim button As OptionButton
    Set button = ActiveSheet.OptionButtons.Item(2)
    tempString = button.Name
    Debug.Print (button.GroupBox.Caption)
End Sub

不使用变量 tempString,button.Name 可以使用消息框或 Debug.Print 来显示相同​​的效果。