You need to work out the math a little better
Is this what you wanted?
Private Sub pvtChangeAutoShapeType(o As Shape) Dim CenterTop As Double, CenterLeft As Double With o If .Type <> msoAutoShape Then Exit Sub If .AutoShapeType <> tShapeToChange Then Exit Sub .AutoShapeType = tShapeAfterChange CenterTop = .Top + .Height / 2# CenterLeft = .Left + .Width / 2# .Height = oShapeAfterChange.Height .Width = oShapeAfterChange.Width .Left = CenterLeft - oShapeAfterChange.Width / 2# .Top = CenterTop - oShapeAfterChange.Height / 2# End With End Sub



Reply With Quote
