View Single Post
  #4   Report Post  
Posted to microsoft.public.excel.programming
joel joel is offline
external usenet poster
 
Posts: 9,101
Default is array redimmed?

the problem with the REDIM() statemtn it is may create an extra item in the
array. For example
Redim A(5) really create 6 items 0 to 5.

If you specfiy
Redim(0 to 4) this will create only 5 items

Also use Preserve so you don't loose you old items after redim

Redim Preserve A(5)

I would test if the array already exits bu use a counter to keep track of
the number of items or use UBOUND to get the upper limits of the array.

You could also make the array size 1 at the beginning of the code
Dim A as variant
Redim A(0 to 0)


"Joel" wrote:

Redim doesn't change the variable to a real array it creates a second
variable with the same name as an array.

You should declare the variable as a variant so you don't have two variables
with the same name

from
Dim myArray()

to
Dim MyArray as Variant 'note - no parenthesis



"Jacob Skaria" wrote:

ISArray() will return TRUE

Dim myArray()
Msgbox IsArray(myArray)

If this post helps click Yes
---------------
Jacob Skaria


"Stefi" wrote:

Hi All.

I want to use a one dimension dynamic array, so my declaration is:

Dim myarray()

Redim myarray(x) changes it to a real array.
But how can I determine the state of myarray when it was not redimmed yet .

Thanks,
Stefi