启动时出现帧错误91错误

问题描述:

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

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 
+0

反正有申报特定的帧控制为对象?例如将X变量声明为Side Frame Control obj? –

+0

'Dim myFrame As MSForms.Frame' – ThunderFrame