VB 关于如何在inputbox里输入任意个数
发布网友
发布时间:2023-12-25 09:57
我来回答
共2个回答
热心网友
时间:2024-11-25 00:39
1、原因:
inputbox函数输入的是一个字符串。
你对这个字符串做a < 0 Or a > 100 判断是无效的!!!
2、你的要求是依次输入多个数值,自动按照数组处理。不知道我说的对不对?
3、解决方法:
使用数组。
代码如下:
Private Sub Command1_Click()
Dim 数组, a As String, 个数 As Integer, 成绩() As Single
Dim 优秀数 As Integer, 优良数 As Integer, 良好数 As Integer, 合格数 As Integer, 不合格数 As Integer
Do
Cls
Do
a = InputBox("请输入分数(成绩之间用英文逗号分隔)")
If a = "" Then
MsgBox "您未输入数据!!!", , "成绩统计(无数组)"
Else
Exit Do
End If
Loop
数组 = Split(a, ",")
个数 = UBound(数组)
For i = 0 To 个数
If Not IsNumeric(数组(i)) Then
MsgBox "您输入的第" & i + 1 & "个数据不是数字!!!", , "成绩统计(无数组)"
Exit For
Else
成绩(i) = Val(数组(i))
If 成绩(i) < 0 Or 成绩(i) > 100 Then
MsgBox "您输入的第" & i + 1 & "个数据不是有效成绩!!!", , "成绩统计(无数组)"
Exit For
End If
End If
Select Case 成绩(i)
Case Is < 60
不合格数 = 不合格数 + 1
Case Is < 70
合格数 = 合格数 + 1
Case Is < 80
良好数 = 良好数 + 1
Case Is < 90
优良数 = 优良数 + 1
Else
优秀数 = 优秀数 + 1
End Select
Next i
Exit Do
Loop
Print "成绩:"; a
Print "其中:"
Print Tab(5); "优秀人数:"; 优秀数
Print Tab(5); "优良人数:"; 优良数
Print Tab(5); "良好人数:"; 良好数
Print Tab(5); "合格人数:"; 合格数
Print Tab(5); "不合格人数:"; 不合格数
End Sub
热心网友
时间:2024-11-25 00:39
Private Sub 输入_Click()
Dim x%, y%, z%, a%
x = InputBox("请输入学生人数:", "输入学生人数:", 1)
Text1 = x
For y = 1 To x
tiao:
z = InputBox("请输入第" & y & "个学生的成绩:", "学生成绩输入", 0)
If z < 0 Or z > 100 Then
a = MsgBox("如果要重新输入请按(重试);如果想退出请按(终止);如果不想重新输入请按(忽略),则认为该学生的成绩为(0)分!", 66, "错误提示")
If a = 3 Then
Text1 = y - 1
Exit For
ElseIf a = 4 Then
GoTo tiao
Else
z = 0
End If
End If
Select Case z
Case 90 To 100
Text2 = Val(Text2) + 1
Case 80 To 89
Text3 = Val(Text3) + 1
Case 70 To 79
Text4 = Val(Text4) + 1
Case 60 To 69
Text5 = Val(Text5) + 1
Case 0 To 60
Text6 = Val(Text6) + 1
End Select
Next
End Sub
Private Sub 显示_Click()
Static x%
x = x + 1
If x = 1 Then
Text1.Visible = False
Text2.Visible = False
Text3.Visible = False
Text4.Visible = False
Text5.Visible = False
朱雄亮 18:57:16
Text6.Visible = False
ElseIf x = 2 Then
Text1.Visible = True
Text2.Visible = True
Text3.Visible = True
Text4.Visible = True
Text5.Visible = True
Text6.Visible = True
x = 0
End If
End Sub
Private Sub 结束_Click()
End
End Sub