Index is not in range

L

leo

Hi
I have code:
Public Sub Main()

Dim P(1 To 2, 1 To 2) As Variant
Dim X(1 To 2, 1 To 2) As Variant
Dim r() As Variant

P(1, 1) = 3
X(1, 1) = 4
r = Test(P, X)

End Sub

Function Test(ByRef Arra1y As Variant, ByRef Arra2y As Variant) As
Variant

Dim ResultArray(1 to 2,1 to 2) As Variant


ResultArray(1)(1) = Arra2y(1)(1) + Arra1y(1)(1)

End Function

I have always error:Index is not in range. How can I return array in
this example?

Regards
 
D

Dave Peterson

I'm not sure I understand, but maybe...

Option Explicit
Public Sub Main()
Dim P(1 To 2, 1 To 2) As Variant
Dim X(1 To 2, 1 To 2) As Variant
Dim r As Variant

P(1, 1) = 3
X(1, 1) = 4
r = Test(P, X)
End Sub
Function Test(ByRef Arra1y As Variant, ByRef Arra2y As Variant) As Variant
Dim ResultArray(1 To 2, 1 To 2) As Variant
ResultArray(1, 1) = Arra2y(1, 1) + Arra1y(1, 1)
End Function
 
L

Lars-Åke Aspelin

Hi
I have code:
Public Sub Main()

Dim P(1 To 2, 1 To 2) As Variant
Dim X(1 To 2, 1 To 2) As Variant
Dim r() As Variant

P(1, 1) = 3
X(1, 1) = 4
r = Test(P, X)

End Sub

Function Test(ByRef Arra1y As Variant, ByRef Arra2y As Variant) As
Variant

Dim ResultArray(1 to 2,1 to 2) As Variant


ResultArray(1)(1) = Arra2y(1)(1) + Arra1y(1)(1)

End Function

I have always error:Index is not in range. How can I return array in
this example?

Regards


Try changing (1)(1) to (1,1) in three places

and add

Test = ResultArray

at the end of you function, just before End Function

Hope this helps / Lars-Åke
 

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