vb的问题进来看看

来源:百度知道 编辑:UC知道 时间:2024/09/18 05:56:52
dim a(4,4),b(4,4),c,d,e
for c=0 to 4
a(d,c)=inputbox("人名")
for d=0 to 4
select case d
case 0
e="物理"
case 1
e="化学"
case 2
e="数学"
case 3
e="英语"
case 4
e="语文"
end select
a(d,c)=inputbox(c+1&":"&"a的"&e&"成绩:")
next
next

为什么上面的代码运行一半就出错,第二次执行for c=0 to4 就出错了,说下标越界,如何补救,问题错在哪里
哪里错了,可不可以说详细点
出问题的某一行具体是什么地方错了(为什么错(原因))

在你的基础上修改了一下,可以了,你看看吧。
Dim a(5, 4), b(4, 4), c, d, e 'a(4,4)改为a(5,4)
For c = 0 To 4
a(d, c) = InputBox("人名")
For d = 1 To 5 '改一下
Select Case d - 1 '改一下
Case 0
e = "物理"
Case 1
e = "化学"
Case 2
e = "数学"
Case 3
e = "英语"
Case 4
e = "语文"
End Select
a(d, c) = InputBox(c + 1 & ":" & a(0, c) & "的" & e & "成绩:")
Next
d = 0 '加上这句
Next
我给你改的地方,就是你错的地方。

Private Sub Form_Load()
Dim a(4, 5)
For i = 0 To 4
a(i, 0) = InputBox("人名")
For j = 0 To 4
Select Case j
Case 0
e = "物理"
Case 1
e = "化学"
Case 2
e = "数学"
Case 3
e = "英语"
Case 4
e = "语文"
End Select
a(i, j + 1) = InputBox(i + 1 & ":" & a(i, 0) & "的" & e & "成绩:")