Getting a specific shape from a layer in VBA

Private Function exportlayer(lyr As Layer)

  Dim i As Long
  Dim s As Shape

  ' this is what I can do:

  For Each s In lyr.Shapes

    Call exportshape(s)

  Next s

  

  ' and this is what I need:
  s = lyr.Shapes.Item(1)  ' VBA hangs here

  Call exportshape(s)

 

  For i = lyr.Shapes.count to 2 step - 1

    s = lyr.Shapes.Item(i) ' VBA hangs here

    Call exportshape(s)

  Next i

End Function

 

Any suggestions?