> Well, your last example is invalid VBA, and breaks with Subscript out of range, because foo() is never Dimensioned.
```
Dim foo()
For i = LBound(foo) To UBound(foo)
foo(i) = i
Next i
```
Using the array bounds as for..loop bounds *without* assigning the array (before, or within the loop) is a usage before assignment.
```
'Foo is used but never assigned
Dim foo(6)
Dim bar(6)
For i = LBound(foo) To UBound(foo)
bar(i) = i
Next i
```