Sub NameShape() 'used to name shapes 'select the shape by clicking on it then go to macros and and then run this code !!!! 'you can then use that name in VBA to reference that object. lot easier than trying to guess at "rectangle 2" or what index a object is.
Dim Name$ On Error GoTo AbortNameShape If ActiveWindow.Selection.ShapeRange.Count = 0 Then MsgBox "No Shapes Selected" Exit Sub End If Name$ = ActiveWindow.Selection.ShapeRange(1).Name Name$ = InputBox$("Give this shape a name", "Shape Name", Name$) If Name$ <> "" Then ActiveWindow.Selection.ShapeRange(1).Name = Name$ End If