Redim Preserve doesn't work

W

Witek

I have so code (to array) and I use REDIM Preserve to make bigger
dynamic array, VBA give me error nr 9
subscribt out of range.
What i do wrong with redim preserve?

'this is that code

For int2 = 1 To 100
If int2 = 1 Then
ReDim tbl2(1 To 1, 1 To 4)
tbl2(int3, 1) = tab1(int2, 1)
int3 = int3 + 1
Else
ReDim Preserve tbl2(1 to int3,1 to 4)
tbl2(int3, 1) = tab1(int2, 1)
int3 = int3 + 1
End If
Next int2
 
J

John Green

ReDim Preserve only works on the final dimension of the array. For example:

ReDim Preserve tbl2(1 to 4, 1 to int2)

Just reverse the dimensions.
 
W

Witek

Have you any idea, How to redim more like one time array? (3, 50, 150
times? indepent of data.
 
M

Myrna Larson

Preserve only works to change the right-most subscript, i.e.

Dim X(1 to 3, 1 to 10, 1 to 50)

you can change the 50 up or down, not the 3, 10, or any of the 1's.
 

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