Index is not in range

  • Thread starter Thread starter leo
  • Start date Start date
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
 
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
 
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
 
Back
Top