View Single Post
  #4   Report Post  
Posted to microsoft.public.excel.programming
Dave Peterson Dave Peterson is offline
external usenet poster
 
Posts: 35,218
Default Run-Time 9 Subscript ouf of Range Error

When h = "4:4,3:3,2:2", you'll get 3 elements from the first split (indices 0,
1, 2)

And with M = 2, this will fail:
k = k & ", " & Split(Split(h, ",")(M), ":")(M)
Because 2:2 only has two elements (indices 0 and 1).

Maybe you wanted:
k = k & ", " & Split(Split(h, ",")(M), ":")(1)
or
k = k & ", " & Split(Split(h, ",")(M), ":")(0)


Excel Monkey wrote:

The following routine is not working when I expand the variable h. I have
tried changing these to String variable and I get the same error (Run-Time 9
Subscript ouf of Range). Why is this?

Sub Test()
Dim M As Double
Dim h As Variant
Dim k As Variant

h = "4:4,3:3" '< this works but will not if "4:4,3:3,2:2"

If Not UBound(Split(h, ",")) = 0 Then
For M = 0 To UBound(Split(h, ","))
If M = 0 Then
k = k & Split(Split(h, ",")(M), ":")(M)
Else
k = k & ", " & Split(Split(h, ",")(M), ":")(M)
End If
Next
h = k
End If

End Sub

Thanks

EM


--

Dave Peterson