我有一个带有三个选项按钮的Microsoft Form 2.0 Frame Control。框架控件的名称为Side
,三个选项按钮标题为X
,O
和Random
,名称为xOption
,oOption
,和randomSide
分别。
代码运行正常,除非在启动时,如果我打开Excel并立即运行程序,它会给我Error 91
,请注意其中一个选项(X
,O
或Random
)已被选中。为了摆脱这个错误,我需要明确选择另一个选项,然后错误就消失了。我不知道为什么会这样。这是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
作为一个框架控件,以防有一些有用的信息,因为我认为该对象已经通过制作框架控件来声明。提前谢谢!
答案 0 :(得分:1)
你需要检查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