Illegal REDIM
You used a ReDim statement in a context in which it is inappropriate:
- In referring, with the Preserve keyword, to a variable of type
variant that doesn't already contain an array. For example:
Dim varV As Variant varV = 5 ReDim Preserve varV(1 To 3) ' Illegal
Remove the keyword Preserve if you want varV to hold an array, or remove the Redim statement.
- You referred to a member variable of a class as though it were
an array, though it isn't. For example:
Class AClass Public X As Integer End Class Dim varV As Variant Set varV = New AClass ReDim varV.X(1 To 3) ' Illegal, because X isn't an array.
Declare X as a dynamic array or remove the ReDim statement.
- You referred to a member variable or property of a class as though
it held or returned a dynamic array rather than a fixed array. For
example:
Class AClass Public X(1 To 2) As Integer End Class Dim varV As Variant Set varV = New AClass ReDim varV.X(1 To 3) ' Illegal, because X is a fixed array.
Define X as a dynamic array or remove the ReDim statement.