View Single Post
  #12   Report Post  
Posted to microsoft.public.excel.programming
Jimmy Jimmy is offline
external usenet poster
 
Posts: 22
Default Variables in Declaring an Array

Jim,
I'm still on the same project, but our team has decided to use a
two-dim array.
How can I get "redim preserve myarray(n,o)" to work?
I'm having the worst time with this.
Thanks so much,
Jimmy


Jim Thomlinson wrote:
Looks like you have the hang of ReDim to me... Like I said in my original
post the only trick is to understanding the use of the preserver key word.
Preserve adds some overhead however so my origninal code should have been...

dim myArray() as sting
dim n as long

n = 0
redim myArray(n) 'Note no Preserve as there is nothing to save
myarray(n) = "this"
n = 1
redim preserve myarray(n)
myarray(n) = "that"

Redim essentially makes a new array that is the size that you specify and
then points the array variable at the new array. The preserve key word tells
the compiler to copy over the values from the old array to the new array...
--
HTH...

Jim Thomlinson


"Gary Keramidas" wrote:

i'm not as knowledgeable as you, i was just checking how it worked so i could
learn more about arrays. noticed how i "asked" instead of saying "this is how it
should be". i didn't know for sure. it should also probably be:
myarray(n) = "this"
right?

i know i don't type very well, so i understand the typo.

thanks
--


Gary


"Jim Thomlinson" wrote in message
...
My typing takes a little to be desired... I should really proof read before
hitting the Post button. You are correct on the String thing. As for the
Array(n) = "that"
it was just a quick n dirty demo. Yes n probably makes more sense...
--
HTH...

Jim Thomlinson


"Gary Keramidas" wrote:

2 things jim

you have a typo he
dim myArray() as sting (string)

and should this be:

array(n) = "that"


--


Gary


"Jim Thomlinson" wrote in message
...
Take a look for help on the redim statement (note the key work preserve is
required to not clear the values of the array when it is resized.)

dim myArray() as sting
dim n as long

n = 0
redim preserve myArray(n)
myarray(0) = "this"
n = 1
redim preserve myarray(n)
myarray(0) = "that"

--
HTH...

Jim Thomlinson


"Jimmy" wrote:

Dim myArray(0 To n) As String

The dimensions of this array change throughout.

Why can't I use the variable 'n' in the declaration?

And, more importantly, can someone help me solve this problem?

Thanks,

Jimmy