Arrey VAriable - How to initialise

M

Madiya

I am trying to use a arrey variable as I am not sure of the no of strings I will get back.
Here is my code sample.
Sub Macro1()
Dim p() As Integer
For i = 1 To 10
p(i) = i * 10 '<<<<<< ERROR LINE
Next
For i = 1 To 10
Debug.Print p(i)
Next
End Sub

I am getting subscript out of range error on line marked above.
However if I use Dim p(100) as integer, I do not get error.
As far as possible, I would like to use arrey without specifying any upper limit.

Pl help.

Regards,
Madiya
 
C

Claus Busch

Hi Madiya,

Am Tue, 16 Jul 2013 03:32:03 -0700 (PDT) schrieb Madiya:
I am getting subscript out of range error on line marked above.
However if I use Dim p(100) as integer, I do not get error.
As far as possible, I would like to use arrey without specifying any upper limit.

an array starts with index 0.
You have to specify a upper limit. If you don't do it in declaration
part, you have to do it into the code part.
Try:

Sub Macro1()
Dim p() As Integer
Dim i As Integer
Dim myMax As Integer

myMax = 9
ReDim p(myMax)
For i = 0 To myMax
p(i) = (i + 1) * 10
Next
For i = LBound(p) To UBound(p)
Debug.Print p(i)
Next
End Sub


Regards
Claus B.
 

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