Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
is array redimmed?
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 |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
is array redimmed?
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 |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
is array redimmed?
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 |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
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 |
#5
Posted to microsoft.public.excel.programming
|
|||
|
|||
is array redimmed?
On May 28, 11:54*am, Stefi 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 |
#6
Posted to microsoft.public.excel.programming
|
|||
|
|||
is array redimmed?
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" wrote in message ... 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 |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
is array redimmed? | Excel Programming | |||
Prevent cell/array references from changing when altering/moving thecell/array | Excel Discussion (Misc queries) | |||
Redimming an array dynamically assigned from range (how to redim first dimension of a 2-D array? /or/ reverse the original array order) | Excel Programming | |||
meaning of : IF(Switch; Average(array A, array B); array A) | Excel Worksheet Functions | |||
Array problem: Key words-Variant Array, single-element, type mismatch error | Excel Programming |