redim preserve

R

RobcPettit

hi, ive read through previous threads and im struggling to understand
dynamic arrays., specifically resizing. Basically Im using a dynamic
array 2 cols wide with variable rows. Im using ReDim Preserve
CapturePowers(1 To x, 1 To 2)
CapturePowers(x, 1) = name
CapturePowers(x, 2) = 0
Ive read you can only redim the last array which is were im lost. Im
assuming in my array that 1 to x is the rows, and 1 to 2 is the cols. I
can use redim with single arrays fine. I can work out the size Of the
array before using it and wondering if this is the best option or the
only option.
Hope this makes sense
regards Robert
 
J

Jim Rech

You seem to have a good handle on this. Your choices are to work out the
size before or to create the array as 2 rows deep and X columns wide. In
other words, to transpose it. If you really needed a 'vertical' array you
could create it from the 'horizontal' array afterwards.

--
Jim
| hi, ive read through previous threads and im struggling to understand
| dynamic arrays., specifically resizing. Basically Im using a dynamic
| array 2 cols wide with variable rows. Im using ReDim Preserve
| CapturePowers(1 To x, 1 To 2)
| CapturePowers(x, 1) = name
| CapturePowers(x, 2) = 0
| Ive read you can only redim the last array which is were im lost. Im
| assuming in my array that 1 to x is the rows, and 1 to 2 is the cols. I
| can use redim with single arrays fine. I can work out the size Of the
| array before using it and wondering if this is the best option or the
| only option.
| Hope this makes sense
| regards Robert
|
 
G

Guest

You can only resize the last DIMENSION of a multi-dimensional array...

ReDim Preserve CapturePowers(1 To 999, 1 To x)
ReDim Preserve ThreeDimArray(1 To 999, 1 To 999, 1 To x)

.... therefore, you can add "columns" but not "rows" It's a pain in the
butt. You can write a "GridFlip" function to swap rows to columns, add a
column, and flip columns back to rows!
 
R

RobcPettit

Thankyou both for your replies. Ive decided to take the easy way, and
calculate the array before using it. Easy to do than I thought, thanks
for advice.
Regards Robert
 

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