ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   redim preserve (https://www.excelbanter.com/excel-programming/348192-redim-preserve.html)

[email protected][_2_]

redim preserve
 
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


Jim Rech

redim preserve
 
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
wrote in message
oups.com...
| 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
|



Charlie

redim preserve
 
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!

" wrote:

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



[email protected][_2_]

redim preserve
 
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



All times are GMT +1. The time now is 05:43 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com