I find that the macro below never starts with the uppermost left shape, but rather goes through every other shape in the active sheet BEFORE
targeting the ones I want to delete. How do I get it to start with the left uppermost shape in the specified range and/or at least ignore any shape outside of the range?
Dim shp As Shape, top As Range, btm As Range
Set top = [B2]
Set btm = Cells([A4] - 7, 18)
For Each shp In ActiveSheet.Shapes
If Not Intersect(shp.TopLeftCell, Range(top, btm)) Is Nothing Then