Name

ReDim Statement

Syntax

ReDim [Preserve]varname(subscripts) _
                 [, varname(subscripts)  ...
Preserve

Use: Optional

Type: Keyword

Preserves the data within an array when changing the only or last dimension

varname

Use: Required

Type: String literal

Name of the variable

subscripts

Use: Required

Type: 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 ReDim statement. 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 Preserve keyword in redimensioning the array, you can resize any of the coordinates of the array.

  • Use of the Preserve keyword 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) ...

Get VB .NET Language in a Nutshell now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.