下面就介绍一个“四则运算”的表格做法,可一次出五道题,在表格的F列输入答案后,能在G列显示对错。
详细的具体步骤或操作方法
表格的样子如下图:
第一步:制作表格

可按上图样子做出一个表格,其中的B到E列是电脑自动填入的,不用管。
F列是让孩子输入答案的地方,输入答案后会马上在G列显示“正确”或“不对”的提示。
表格中的H列是由电脑生成的答案,做检查时会用到,平时使用时应该把它隐藏起来。隐藏H列的方法是,用鼠标右键点击表格上H列的“列标”,会弹出快捷菜单,从中选“隐藏”就可使H列隐藏起来。

第二步:输入公式
这个表中唯一有公式的地方是G列,在G3单元格输入下面公式:
=IF(F3="","?",IF(F3=H3,"正确","不对"))
这个公式中用了两个IF函数嵌套,先判断F3单元格是否为“空”,即是否填入了答案,如果没填入答案就显示一个“?”符号。如果F3单元格中填入答案了,就判断这个答案跟H3单元格(由电脑生成的答案)是否相等,然后给出“正确”或“不对”的提示。
G3单元格公式输入后,就可以用鼠标向下拖动复制到G列的下面各单元格中(G4:G7单元格)。
上面这些步骤完成后,就可以做VBA部份了,大家可以不必太在意这些代码的含义,只要会使用它就行了。
第三步:编写代码
在当前工作表标签上按鼠标右键,选“查看代码”,打开当前表格的VBA窗口。
把代码粘贴到打开的空白窗口中

Sub 出题()
Dim a1 As Integer, a2 As Integer
Dim b1 As Integer, b2 As String
Randomize '对随机数生成器做初始化
Range("f3:f7")="" '先清除以前的结果
n=100 '设定计算结果在这个值以内
For i=1 To 5 '一次出五道题
b1=Int(Rnd() * 4) + 1 '生成1到4的整数,对应加减乘除符号
10:
a1=Int(Rnd() * 100) + 1 '生成1至100的整数
a2=Int(Rnd() * 100) + 1 '生成1至100的整数
'下面是求值过程,如果值大于100,就返回上面第10语句行重新取数
'加法
If b1=1 Then b2="+": a3=a1 + a2: If a3 > n Then GoTo 10
'减法
If b1=2 Then
b2="-"
If a1 > a2 Then a3=a1 - a2
'避免计算结果为负数
If a2 > a1 Then t=a1: a1=a2: a2=t: a3=a1 - a2
If
'乘法
If b1=3 Then b2="×": a3=a1 * a2: If a3 > n Then GoTo 10
'除法
If b1=4 Then
b2="÷"
If a1 > a2 Then a3=a1 / a2
'避免计算结果为小数
If a1 < a2 Then t=a1: a1=a2: a2=t: a3=a1 / a2
If a3 <> Int(a3) Then GoTo 10
If
'显示到表格中
Cells(i + 2, 2)=a1: Cells(i + 2, 3)=b2: Cells(i + 2, 4)=a2: Cells(i + 2, 5)="=" '列出算式
'写入答案到第八列中,即H列中。
Cells(i + 2, 8)=a3
Next
Sub

上面的代码通过生成随机数达到自动出题的目的,由变量b1来确定加减乘除的运算符号。
由于是小学生的四则运算,计算结果不能是负数与小数,所以在减法与除法的过程中要用IF函数进行判断,不符合要求时就返回第十语句行重新取数。
该代码可生成1-100范围内的数据,并让计算结果也在100以内,如果你想自己设定范围,可改变相关参数。
第四步:添加按钮
现在回到EXCEL窗口,还要再添加一个按钮来执行这个代码。
按“视图-工具栏-窗体”,调出“窗体”工具栏,选中其中的“按钮”控件,在屏幕上“画”出一个大小适中的按钮。
提示:添加按钮的方法有很多,例如还可以用“绘图”工具栏中的各种“形状”、“艺术字”等,这些都可以“指定宏”来达到运行代码的目的。
然后用鼠标右键点击这个按钮的边沿,在快捷菜单中选“指定宏”,这时会弹出一个“宏”对话框,从中选“出题”这个宏,确定即可。

所有这些完成后就可以使用了,每按一次按钮,可生成5个算式。
如果你想生成更多的算式,可以改变代码中循环变量 i 的终值。
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。作者声明:本文系本人依照真实经历原创,未经许可,谢绝转载。
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
