i isn't an array - it is a simple variable. What is happening in the first elements of your code is reasonably complex: When you run thru:
For i = 1 To 10
i = Chr(64 + i)
You initially start off storing the value 1 in i (from For i = 1 to 10). But then you assign a new value to i with i = Chr(64+i) . Here you are storing a character ("A") in i (Chr(64+1) represnts the letter "A"). This proceeds OK, but on the next line (Next i) you will get a type mismatch error. I believe this results because, even though i is implicity (or explicitly, depending on whether or not you have defined i) defined as a variant, the For Next loop constrains the type of i as a numeric at each iteration of the loop. When it encounters i = "A" on the Next i line it thus errors out with Type Mismtach error.
Anyway, the important point to draw is that i is NOT an array.
Only arr() is defined as an array. Therefore i is not capable of storing multiple values at the same time - it can only hold one value at any one time (although you can modify this single value by assigning another value to i eg via: