启动时出现帧错误91错误
问题描述:
我有一个带有三个选项按钮的Microsoft Form 2.0框架控件。帧控制的名称是Side
,三个选项按钮字幕分别为X
,O
和Random
,名称分别为xOption
,oOption
和randomSide
。 代码运行良好,除了启动时,如果我打开Excel并立即运行程序,它会给我一个Error 91
,注意其中一个选项(X
,O
或Random
)已被选中。为了摆脱这个错误,我需要明确地选择另一个选项,然后错误消失。我不知道为什么会发生这种情况。下面是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
反正有申报特定的帧控制为对象?例如将X变量声明为Side Frame Control obj? –
'Dim myFrame As MSForms.Frame' – ThunderFrame