启动时帧控制错误91

我有一个Microsoft Form 2.0框架控件与三个选项button。 框架控件的名称是Side ,三个选项button标题分别是XORandom ,名称分别为xOptionoOptionrandomSide 。 代码运行良好,除了启动时,如果我打开Excel并立即运行程序,它会给我一个Error 91 ,请注意,其中一个选项( XORandom )已被选中。 为了摆脱这个错误,我需要明确地select另一个选项,然后错误消失。 我不知道为什么会发生这种情况。 这是Frame控制的子

 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作为一个框架控件,以防万一这是一些有用的信息,因为我想这个对象已经声明只是通过框架控制。 提前致谢!

您需要检查Side.ActiveControl实际上是一个对象, 然后再阅读它的标题:

 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