Excel中怎样计算面积? Excel制作计算圆面积工具的教程-英雄云拓展知识分享
124
2023-11-13
【摘要】 本书摘自《Excel 管理信息处理与实践教程第二版——全面兼容2016》一书中第10章,第3节,刘启刚著。
10.3.3 事件编程
当然不能将上面的窗口直接给用户看,因此必须在窗口初始化的时候就调入第一题的内 容。有了全局变量 RofQ, 就能时刻知道现在第几题,只需要将RofQ+1 行相应列单元格的内 容,分别通过相应控件显示出来即可,其中Labell 的显示内容是序号列内容、顿号和题目列内 容连接在一起构成的。选项按钮则显示相应选项的内容。哪一个选项按钮被选中,则取决于答题列单元格是否记录了用户曾经选过的选项按钮。反之,任何一个选项按钮被点选,则应该 在相应行的答题列单元格记录用户的选择。这样,不论什么时候回到某一题,都能正确显示用 户是否曾经点选答题过了。
用户窗体初始化的时候,RofQ 为1,然后显示相应题目。而前一题或者后一题,只需 RofQ减去1或者加上1,然后显示相应题目即可。因此上面所分析的显示相应题目的功能, 可以放在用户窗体内某一个宏当中,供几个不同的事件调用。我们直接将这个功能写在 UserForm1 的 Click 事件宏当中,以便供其他宏调用,同时还能实现点击用户窗体空白处刷新 当前题目的功能,代码如下:
Private Sub UserForm_Click()
'显示题目
Label1.Caption =Cells(ROfQ+1,1).Text&" 、"&Cells(ROfQ +1,2).Text
'显示备选项
OptionButton1.Caption OptionButton2.Caption OptionButton3.Caption OptionButton4.Caption
=Cells(ROfQ =Cells(ROfQ =Cells(ROfQ =Cells(ROfQ
+1,3).Text
+1,4).Text
+1,5).Text
+1,6).Text
'显示被选中的备选项
Select Case Cells(ROfQ +1,8).Text
Case"1"
End Select
End Sub
这样,用户窗体初始化和前一题后一题两个按钮的代码就分别简化为:
Private Sub UserForm_Initialize()
'初始化变量
NOfQ =10
ROfQ =1
'清空答题列
For i =2 ToNOfQ =1
Cells(i,8).Value =""
Next
'显示题目
Call UserForm_Click
End Sub
Private Sub CommandButton1_Click()
If ROfQ>1 Then '判断是否第一题
ROfQ =ROfQ -1
Call UserForm_Click
Else
response =MsgBox(“已经是第一题了。”,vbOKOnly,“提示)
End If
End Sub
Private Sub CommandButton2_Click()
IfROfQ ROfQ =ROfQ +1 Call UserForm_Click Else response =MsgBox(“已经是最后一题了。”,vbOKOnly,”提示") End If End Sub 题目显示实现了,下一步是要实现利用答题列来记录用户曾经选择过的选项。当用户点 选某个选项按钮的时候,就应该显示该选项按钮被选中,同时在答题列记录该选项按钮被选中 的序号,选项按钮被选中,同时前一个被选中的不再被选中,是由VB 内在逻辑完成的,因此只 需记录哪个按钮被选中即可,如第一个选项按钮的 Click 宏如下: Private Sub OptionButton1_Click() Cells(ROfQ +1,8).Value ="1" End Sub 接下来,就是要提交答案,按照我们的设计,用户其实可以在任何时候提交答案,为了避免 用户误点提交答案命令按钮,需要给用户一个提示和选择的机会。然后对比标准答案和用户 答题,并记数显示分数。因此,提交答案命令按钮的事件宏如下: Private Sub CommandButton3_Click() ‘询问用户是否提交答案 response =MsgBox(“确定提交答案吗?”,vbYesNo,”提示!) If response =vbYes Then '计算用户分数 score =0 For i =2 ToNOfQ +1 If Cells(i,7).Text =Cells(i,8).Text Then score =score +1 Next i '显示用户分数 response =MsgBox("总题目数为"&NOfQ&"道,您的得分为"& score&" 分。") Else End If '退出程序 Unload UserForm1 '重新显示 Excel 窗口 Application.Visible End Sub =true 接下来,我们在 Workbook_open 事件宏中加上显示 UserForml.show, 就可以实现在工 作簿打开的时候自动运行程序了,由于在这里加上了重新显示 Excel 窗口的语句,如果调试其 他语句都没有问题的话,前面隐藏窗口的语句也可以不再注释了。 Private Sub Workbook_Open() '隐藏 Excel 窗口 Application.Visible =False '运行用户窗体1 UserForm1.Show End Sub 至此, 一个简单的模拟测试程序就完成了。 版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~