ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Bug? AutoShape position properties incorrect (https://www.excelbanter.com/excel-programming/349151-bug-autoshape-position-properties-incorrect.html)

Nick Hebb

Bug? AutoShape position properties incorrect
 
I have a function that iterates through the Shapes collection as
follows:

For Each shp In ActiveSheet.Shapes ' shp is Dim'ed as Shape
t = shp.Top
b = t + shp.Height
l = shp.Left
r = l + shp.Width
Debug.Print shp.Name, t, b, l, r
' do some other stuff
Next

The function wasn't working correctly, so I added the Debug.Print to
examine the values, and they were all wrong! The Debug.Print output
was:

'shp.Name, t, b, l, r:
AutoShape 1 4.08 8.16 4.08 16.32
AutoShape 2 12.24 16.32 4.08 16.32
AutoShape 4 20.4 24.48 4.08 16.32
.... etc.

Next I added a breakpoint to step through it. When I did, the
coordinates were suddenly correct. ?!? So I ran it again with the
breakpoint on the "t = shp.Top" line, toggled the breakpoint off, then
ran it to completion. The Debug.Print output now was:

'shp.Name, t, b, l, r:
AutoShape 1 25.5 51 25.5 102
AutoShape 2 76.5 102 25.5 102
AutoShape 4 127.5 153 25.5 102
.... etc.

These values are all 6.25x the first set. I hadn't changed any of the
shapes on the sheet, and the code in the for-loop does not alter them
in any way. It just reads a few properties.

So it seems that if I give Excel a moment to "catch it's breathe", the
coordinates all get resolved correctly.

Anyone have any clue as to what might be causing this?


Thanks,

Nick Hebb



All times are GMT +1. The time now is 04:27 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com