houguojun2010
2017-11-24 15:21
采纳率: 0%
浏览 3.5k

vb遇到一个问题,提示实时错误9,下标越界,请高手帮忙分析下

Private Sub Command3_Click()
Dim n, m As Integer
m = Val(InputBox("几名嫌疑人", "嫌疑人数量"))

Dim A(1 To 10, 1 To 5) As String

Do
A(n, 1) = InputBox("输入嫌疑人名字", "嫌疑人信息")
A(n, 2) = InputBox(A(n, 1) & "的性别", "嫌疑人信息", "男")
A(n, 3) = InputBox(A(n, 1) & "的籍贯", "嫌疑人信息")
A(n, 4) = InputBox(A(n, 1) & "的籍贯详址", "嫌疑人信息")
A(n, 5) = InputBox(A(n, 1) & "的住址/暂住地址", "嫌疑人信息")
' MsgBox "姓名:" & A(n, 1) & Chr(10) & "性别:" & A1 & Chr(10) & "籍贯详址:" & A2 & Chr(10) & "住址/暂住地址:" & A3 & Chr(10) & "姓名:" & A4, 0, "嫌疑个人信息"
n = n + 1
Loop While n > m

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • threenewbee 2017-11-24 15:43

    Do
    前面加上
    n=1

    打赏 评论
  • adpushpop 2017-11-24 19:45

    n=1 ~

    打赏 评论
  • lyeboay 2017-11-25 07:21

    因为你定义A(1 To 10, 1 To 5),下标是从1开始的,不是从0开始,而你定义的n没有给值,系统赋初值为0,所以当你用A(n,1)时实际是用A(0,1),与你定义的A(1 To 10, 1 To 5)不符,下标越界了。你在Do前面给n赋值1或把n = n + 1移到Do后作第一条语句。

    打赏 评论

相关推荐 更多相似问题