VBA进行随机计算并确认正确答案

VBA进行随机计算并确认正确答案,vba,calculation,msgbox,Vba,Calculation,Msgbox,下面的代码给你一个随机计算,你提供一个答案和程序检查你的答案是否正确。总的来说,你有5个例子要解决。最后,我想创建一个简单的MsgBox,说明在多少情况下用户是正确的——正确答案的数量 此MsgBox当前由“g”表示。不幸的是,g=b+0加上g=b-1不是正确的方法 有人能帮忙吗?谢谢大家! Sub Main2() Dim b, e, f, s1, s2 As Byte Dim g As String g = 0 For b = 1 To 5 e = Round(R

下面的代码给你一个随机计算,你提供一个答案和程序检查你的答案是否正确。总的来说,你有5个例子要解决。最后,我想创建一个简单的MsgBox,说明在多少情况下用户是正确的——正确答案的数量

此MsgBox当前由“g”表示。不幸的是,g=b+0加上g=b-1不是正确的方法

有人能帮忙吗?谢谢大家!

Sub Main2()

Dim b, e, f, s1, s2 As Byte
Dim g As String

    g = 0
    For b = 1 To 5

    e = Round(Rnd() * 10)
    f = Round(Rnd() * 10)
        MsgBox ("Count: ") & Str(e) & (" *") & Str(f)
    s1 = InputBox("What's the result?")

    s2 = e * f
    If s1 = s2 Then
        MsgBox ("Correct")
        g = b + 0

    Else
        MsgBox ("Incorrect! Right answer is") & Str(s2)
        g = b - 1

        End If

    Next b

    MsgBox ("Amount of correct answers: ") & Str(g)

End Sub
使用:

为了纠正错误,请从错误中删除
g=b-1
,因为您根本不想增加g

此外,还需要将
g
调暗为数字而不是字符串

Dim g as Long

尺寸b、e、f、s1、s2作为字节

只有将
s2
声明为
字节
其他将是
变量

使用:



正确答案肯定是
g=g+1
,错误答案肯定是
g=g-1
,还是我遗漏了什么?您可能还希望
RANDOMIZE TIMER
随机化每次运行。
Dim g as Long
Dim b As Byte, e As Byte, f As Byte, s1 As Byte, s2 As Byte
Sub Main2()

    Dim b As Byte, e As Byte, f As Byte, s1 As Byte, s2 As Byte
    Dim g As Long

    g = 0
    For b = 1 To 5

        e = Round(Rnd() * 10)
        f = Round(Rnd() * 10)
        MsgBox ("Count: ") & cStr(e) & (" * ") & cStr(f)
        s1 = InputBox("What's the result?")

        s2 = e * f

        If s1 = s2 Then
            MsgBox ("Correct")
            g = g + 1    
        Else
            MsgBox ("Incorrect! Right answer is") & cStr(s2)
        End If

    Next b

    MsgBox ("Amount of correct answers: ") & cStr(g)

End Sub