The issue isn't his Names array. Since he isn't defining an Option Base 1 and his code worked fine before, we know it is setting it as (0 To 5), not (0 To 4) or (1 To 5).
The line in question that gets the "Subscript out of range" error is:
Code:
lstdisplay.AddItem (names(row) & " " & SCORES(row, col) & " " & ave(row) & " " & grade(row))
At that point, col = 3. The For loop sets col to 3, then exits it.
My question is how do you want to see the output? Do you want to see all the scores in the item or just one? Like (barring formatting):
Code:
NAME - SCORES - AVERAGE - GRADE
ART 98 87 B
MARY 74 77.33 C
JILL 82 82 B
MARK 91 92 A
SAM 52 58.67 F
CAROL 71 81.67 B
Or:
Code:
NAME - SCORES - - AVERAGE - GRADE
ART 86 77 98 87 B
MARY 67 91 74 77.33 C
JILL 87 77 82 82 B
MARK 96 89 91 92 A
SAM 65 59 52 58.67 F
CAROL 89 85 71 81.67 B
Or do you even need to see the scores?
Once we know what formatting you're looking for, we can help you solve your problem.