a = Val(Text1)
这才是把Text1中输入的数的值赋给a
后面的三个if有些不严谨,比如成绩为90,那么
If a > 60 Then
MsgBox "恭喜你考试合格"
End If
If a > 80 Then
MsgBox "恭喜你,成绩优秀"
End If
都会弹出msgbox
最后把第二个if改为:
If a > 60 And a < 80 Then
MsgBox "恭喜你考试合格"
End If
还有取等的问题,按你写的,输入60会没反应。
Private Sub Command1_Click()
Dim a As Integer
a = Val(Text1)
If a < 60 Then
MsgBox "你考试不合格"
End If
If a >= 60 And a < 80 Then
MsgBox "恭喜你考试合格"
End If
If a >= 80 Then
MsgBox "恭喜你,成绩优秀"
End If
Text1 = a写反了,刚申明的变量a的值为0;
text1的值被变为0了
正确写法是 a=int(val(text1.text))
建议申明a 为 Double; 因为如果是小数会被加或减
用这种方法只需a=val(text1.text)就好了
用val的方法, 乱输的内容会被干掉
是右边的赋值给左边的
比如a=1
dim a as integer
a的初始值是0 所以始终是0分啦
改成a=val(text1.text)就可以了!
可以这样写
Private Sub Command1_Click()
select case val(text1.text)
case is<60
MsgBox "你考试不合格"
case is >= 60
MsgBox "恭喜你考试合格"
case is>80
MsgBox "恭喜你,成绩优秀"
end select
end sub