ReDim Statement
Declares dynamic-array variables, and allocates or reallocates storage space
at procedure level.
ReDim [Preserve] varname(subscripts) [,
varname(subscripts)] . . .
Arguments
Preserve
Preserves the data in an existing array when you change the size of the last
dimension.
varname
Name of the variable; follows standard variable naming conventions.
subscripts
Dimensions of an array variable; up to 60 multiple dimensions
may be declared. The subscripts argument uses the following syntax:
upper [,upper] . . .
The lower bound of an array is always zero.
Remarks
The ReDim statement is used to size or resize a dynamic array that has
already been formally declared using a Private, Public, or
Dim statement with empty parentheses (without dimension subscripts). You
can use the ReDim statement repeatedly to change the number of elements
and dimensions in an array.
If you use the Preserve keyword, you can resize only the last array
dimension, and you can't change the number of dimensions at all. For example, if
your array has only one dimension, you can resize that dimension because it is
the last and only dimension. However, if your array has two or more dimensions,
you can change the size of only the last dimension and still preserve the
contents of the array.
The following example shows how you can increase the size of the last
dimension of a dynamic array without erasing any existing data contained in the
array. ReDim X(10, 10, 10)
. . .
ReDim Preserve X(10, 10, 15)
Caution If you make an array smaller than it was
originally, data in the eliminated elements is lost.
When variables are initialized, a numeric variable is initialized to 0 and a
string variable is initialized to a zero-length string (""). A variable that
refers to an object must be assigned an existing object using the Set
statement before it can be used. Until it is assigned an object, the declared
object variable has the special value Nothing.
|