How to initialize a multi-dimensional array

G

Guest

I have tried to search the web, but have now found a good way to initialize
a two (or more) dimensional array. Its easy in most other languages. Is
there a good way to do it in excel vab?

Thanks!
 
P

Paul Robinson

What the..!
For i = 1 to N
For j = 1 to M
MyArray(i, j) = whatever
Next j
Next i

Sounds like you know this already and want something else, but thought
I'd send it just in case.
regards
Paul
 
M

Mishell

You can initialize or reinitialize a multi-dimensional array with the Redim
instruction :
ReDim MyArray(1 To 3, 2 To 5, 1 To 2)

Mishell
 
C

Chip Pearson

You can't initialize an array (with the exception of a single variant
containing an array) to values other than the standard defaults
without looping through each dimension or assigning each element by
itself. So, the answer is really that you can't do it.

Cordially,
Chip Pearson
Microsoft Most Valuable Professional,
Excel, 1998 - 2010
Pearson Software Consulting, LLC
www.cpearson.com
 
D

Dana DeLouis

You can't initialize an array (with the exception of a single variant
containing an array) to values other than the standard defaults
without looping through each dimension or assigning each element by
itself. So, the answer is really that you can't do it.

Cordially,
Chip Pearson
Microsoft Most Valuable Professional,
Excel, 1998 - 2010
Pearson Software Consulting, LLC
www.cpearson.com

Here's what I think is an interesting way to have a 10 * 10 array of the
value 5 without looping. I don't believe 'Sign can be threaded once.

Sub Demo()
Dim M
M = [5*TRANSPOSE(SIGN(ROW(A1:J10))*SIGN(COLUMN(A1:J10)))]
End Sub

= = = = = = =
HTH :>)
Dana DeLouis
 
G

Guest

That's what I was afraid of. My question was not as clear as I thought it
was, sorry. You clearly understood that I was as asking for a way to
initialize the values of an array at compile rather than execute time.
Though, I suppose there isn't so much difference with an intreperted
language.

Thanks you your reply.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top