启动时帧控制错误 91

Error 91 on Frame Control upon Start Up

我有一个带有三个选项按钮的 Microsoft Form 2.0 框架控件。框架控件的名称是 Side,三个选项按钮标题是 XORandom,名称分别是 xOptionoOption、和 randomSide 分别。 代码 运行 很好,除了在启动时,如果我立即打开 Excel 和 运行 程序,它会给我一个 Error 91,请注意其中一个选项 ( XORandom) 已经 selected。为了摆脱这个错误,我需要明确 select 另一个选项,然后错误消失。我不知道为什么会这样。这是 Frame Control

的子项
Public Sub Side_Click()

sideLetter = Side.ActiveControl.Caption
If StrComp(sideLetter, "Random") = 0 Then
    Randomize
    tempRand = Int((Rnd() * 2 + 1))
    If tempRand = 1 Then
        sideLetter = "X"
    Else
        sideLetter = "O"
    End If
End If
End Sub

sideLetter = Side.ActiveControl.Caption 行是导致问题的原因。我没有明确地将 Side 声明为框架控件,以防这是一些有用的信息,因为我认为 object 已经通过制作框架控件声明了。提前致谢!

您需要检查 Side.ActiveControl 实际上是 object, 在您阅读它的标题:

之前
Public Sub Side_Click()
If Not Side.ActiveControl Is Nothing Then
    sideLetter = Side.ActiveControl.Caption
    If StrComp(sideLetter, "Random") = 0 Then
        Randomize
        tempRand = Int((Rnd() * 2 + 1))
        If tempRand = 1 Then
            sideLetter = "X"
        Else
            sideLetter = "O"
        End If
    End If
End If
End Sub