我有一个问题:
我需要创建一个包含通常的OK和Cancel Buttons的用户表单。它还应该包含两组选项按钮,每组都放在一个框架内。第一组的标题应该是篮球,棒球,足球,第二组的标题应该是在电视上观看和转到游戏 。我需要在模块中编写事件处理程序和代码,以便在程序运行时,用户可以看到表单。如果用户做出几个选择并单击“确定”,他应该会看到一条消息,例如“您最喜欢的运动是篮球,而您通常会在电视上观看”。如果用户单击“取消”,则会显示“抱歉您不想播放”消息。
我认为我几乎可以使用它,但我不知道为什么我无法成功执行宏。
我的代码是:
Option Explicit
Private Sub CommandButton2_Click()
MsgBox ("sorry if you don't want to play")
End Sub
Private Sub commandbuttons_Click()
Dim optbasket As String, optbaseball As String, optfootball As String
Dim optwog As String, optgtg As String
Select Case True
Case optbasket
optbasket = True
Case optbaseball
optbaseball = True
Case optfootball
optfootball = True
End Select
If optwog Then
optwog = True
Else
optgtg = True
End If
btnok = MsgBox("you favorite sport is " & Frame1.Value & "you usually " & Frame2.Value & ",")
End Sub
Private Sub OptionButton1_Click()
End Sub
Private Sub btmcancel_Click()
End Sub
Private Sub btnok_Click()
End Sub
Private Sub Frame1_Click()
End Sub
Private Sub Frame2_Click()
End Sub
Private Sub optbaseball_Click()
End Sub
Private Sub optbasketball_Click()
End Sub
Private Sub optfootball_Click()
End Sub
非常感谢!!!
答案 0 :(得分:3)
这里有一些事情:
我认为Frame1和Frame2没有你可以调用的.Value属性
以下是一些示例代码。您可以在工作表中添加一个可以单击的对象。在这个例子中,我刚刚插入了一个矩形对象。形成“插入”选项卡。然后在UserForm代码中,我将Ok Button重命名为OkButton并添加了函数OkButton_click。单击它时,我捕获单选按钮的值。我相应地将他们命名为棒球,篮球和足球以及观看和离开。如果其中一个是真的,那么我分配“游戏”,这是我声称是游戏的合适标题的字符串。无论这个人是喜欢去看比赛还是看比赛,我都做了同样的事情。然后我添加了CancelButton_Click函数来关闭userForm。
Private Sub Rectangle1_Click()
UserForm1.Show
End Sub
Private Sub OkButton_Click()
Dim game as String, watchOrGo as String
If baseball Then game = "baseball"
If basketball Then game = "basketball"
If football Then game = "football"
If watch Then watchOrGo = "watch"
If go then watchOrGo = "go"
okbtn = Msg("Your favorite sport is " & game & ". You usually " & watchOrGo)
End Sub
Private Sub CancelButton_Click()
cnclbtn = Msg("Sorry you don't want to play")
Unload Me
End Sub
答案 1 :(得分:0)
如果您希望在单击“确定”时运行commandbuttons_Click()
中的代码,则需要将其放在“确定”按钮的单击处理程序中:btnok_Click()
;同样适用于CommandButton2_CLick()
和btncancel_Click()
。