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
Do
前面加上
n=1
n=1 ~
因为你定义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后作第一条语句。