There are 28 different varieties of arrow shapes when speaking of those in Excel. the photo below
The entire list can be retrieved from HERE
So when you are looping through shapes, you will have to account for all of these. Also what Richard Morgan mentioned in the comment is correct. You will have to use the TopLeftCell.Address and BottomRightCell.Address to find the range.
Your code would look like this. (BTW I am using Interop to automate Excel)
Let's say our worksheet looks like this. Now we don't want the Red Shapes as they are not Arrow Shapes.