Name
ReDim Statement
Syntax
ReDim [Preserve]varname(subscripts) _ [,varname(subscripts) ...
-
Preserve(optional; Keyword) Preserves the data within an array when changing the only or last dimension
-
varname(required; String literal) Name of the variable
-
subscripts(required; Numeric) Number of elements and dimensions of the array, using the syntax:
upper[,upper] ...The number of upper bounds specified is the number of dimensions. Each upper bound specifies the size of the corresponding coordinate.
Description
Used within a procedure to resize and reallocate storage space for an array
Rules at a Glance
Arrays can be sized or resized using the
ReDimstatement. There is no limit to the number of times you can redimension a dynamic array.The dimension cannot be changed, nor can the data type of the array be changed.
If you do not use the
Preservekeyword in redimensioning the array, you can resize any of the coordinates of the array.Use of the
Preservekeyword allows you to retain the current values within the array, but it also allows you to resize only the last coordinate of an array.You can redimension an array in a called procedure if you pass the array to the procedure by reference. For example:
Public Sub Main Dim lArr( ) AS Object = {1,2,3,4,5,6,7,8,9,10} Dim lNum As Long ResizeArray(lArr) for each lNum in lARr Console.WriteLine(lNum) Next End Sub Public Sub ResizeArray(ByRef arr( ) As Object) ReDim Preserve arr(15) arr(10) = 20 arr(11) = 50 arr(12) = 80 arr(13) = 90 arr(14) ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access