PC Review


Reply
Thread Tools Rate Thread

is array redimmed?

 
 
Stefi
Guest
Posts: n/a
 
      28th May 2009
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

 
Reply With Quote
 
 
 
 
Jacob Skaria
Guest
Posts: n/a
 
      28th May 2009
Dear Stefi

May be you can check the number of dimensions using the below proc. and if
it is 0 you can Redim...

Dim myarray()
If GetNumberOfDimensions(myarray) = 0 Then
ReDim myarray(10)
End If


Function GetNumberOfDimensions(arrTemp) As Long
On Error GoTo ErrHandler
Do
intTemp = intTemp + 1
ErrorCheck = UBound(arrTemp, intTemp)
Loop
ErrHandler:
GetNumberOfDimensions = intTemp - 1
End Function


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


"Stefi" wrote:

> The problem is that ISArray() returns TRUE either after Dim myarray() or
> Redim Preserve myarray(x). I want to determine that Redim Preserve
> myarray(x) has already been issued or not.
>
> Thanks,
> Stefi
>
>
> „Jacob Skaria” ezt *rta:
>
> > 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
> > >

 
Reply With Quote
 
Jacob Skaria
Guest
Posts: n/a
 
      28th May 2009
Please refer

http://support.microsoft.com/kb/152288

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


"Jacob Skaria" wrote:

> Dear Stefi
>
> May be you can check the number of dimensions using the below proc. and if
> it is 0 you can Redim...
>
> Dim myarray()
> If GetNumberOfDimensions(myarray) = 0 Then
> ReDim myarray(10)
> End If
>
>
> Function GetNumberOfDimensions(arrTemp) As Long
> On Error GoTo ErrHandler
> Do
> intTemp = intTemp + 1
> ErrorCheck = UBound(arrTemp, intTemp)
> Loop
> ErrHandler:
> GetNumberOfDimensions = intTemp - 1
> End Function
>
>
> If this post helps click Yes
> ---------------
> Jacob Skaria
>
>
> "Stefi" wrote:
>
> > The problem is that ISArray() returns TRUE either after Dim myarray() or
> > Redim Preserve myarray(x). I want to determine that Redim Preserve
> > myarray(x) has already been issued or not.
> >
> > Thanks,
> > Stefi
> >
> >
> > „Jacob Skaria” ezt *rta:
> >
> > > 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
> > > >

 
Reply With Quote
 
Joel
Guest
Posts: n/a
 
      28th May 2009
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
> > >

 
Reply With Quote
 
andy the pugh
Guest
Posts: n/a
 
      28th May 2009
On May 28, 11:54*am, Stefi <St...@discussions.microsoft.com> wrote:

> Redim myarray(x) changes it to a real array.
> But how can I determine the state of myarray when it was not redimmed yet
 
Reply With Quote
 
Rick Rothstein
Guest
Posts: n/a
 
      28th May 2009
You might get a more useful answer if you told us what it is you are trying
to do (that is, why are you trying to check the state of MyArray and what
will you do when you find out).

--
Rick (MVP - Excel)


"Stefi" <(E-Mail Removed)> wrote in message
news:E8C783EE-5DA5-4B7A-AD31-(E-Mail Removed)...
> 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
>


 
Reply With Quote
 
 
 
Reply

Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
RE: is array redimmed? Jacob Skaria Microsoft Excel Programming 2 28th May 2009 12:15 PM
Prevent cell/array references from changing when altering/moving thecell/array nme Microsoft Excel Misc 1 19th Sep 2008 01:53 PM
Redimming an array dynamically assigned from range (how to redim first dimension of a 2-D array? /or/ reverse the original array order) Keith R Microsoft Excel Programming 3 13th Nov 2007 04:08 PM
meaning of : IF(Switch; Average(array A, array B); array A) =?Utf-8?B?RFhBVA==?= Microsoft Excel Worksheet Functions 1 24th Oct 2006 06:11 PM
Pass from C# (framework 1.1) array of delegates to unmanaged DLL as array of function pointers verpeter@gmail.com Microsoft C# .NET 0 23rd Aug 2006 02:20 PM


Features
 

Advertising
 

Newsgroups
 


All times are GMT +1. The time now is 04:38 PM.