Using the Erase statement to clear an array
Article contributed by Ibby
Clearing the data in an array can be done by looping through the elements in the array and clearing each one separately. However, it is much easier to use the Erase statement, which can be used to clear all the data in several arrays at the same time. The individual array variables need to be separated by commas:
Erase array1, array2, array3 ........
The behaviour of the Erase statement varies with the type of array as follows:
Dynamic Array (an array dimensioned with a Redim statement): Clears all the elements of the array. The array needs to be redimensioned using a ReDim statement before it can be filled with data again.
Static Array (an array dimensioned with a Dim statement): Clears all the data from the array, leaving the elements in place. The elements are filled with data as follows (from the Help file):
Type of Array |
Effect of Erase on Fixed-Array Elements |
Fixed numeric array |
Sets each element to zero |
Fixed string array (variable length) |
Sets each element to a zero-length string ("") |
Fixed string array (fixed length) |
Sets each element to zero |
Fixed Variant array |
Sets each element to Empty |
Array of user-defined types |
Sets each element as if it were a separate variable |
Array of objects |
Sets each element to the special value Nothing |