How to draw a object and erase it programmatically

S

Simon Lenn

I want to draw a rectangle with a circle programmatically and then I
want to erase and draw the rectangle and circle at a different place
on the worksheet.

Appreciate if somebody can share the code segment for a routine for
this.

Thanks
Simon
 
L

Lady Layla

Take a test sheet, start recording macro, do what you are trying to do, stop
recording, read the code


: I want to draw a rectangle with a circle programmatically and then I
: want to erase and draw the rectangle and circle at a different place
: on the worksheet.
:
: Appreciate if somebody can share the code segment for a routine for
: this.
:
: Thanks
: Simon
 
B

Bob Phillips

Sim on,

The macro recorder gives it

Dim myshape As Shape

Set myshape = ActiveSheet.Shapes.AddShape(msoShapeRectangle, 165#,
255.75, 192.75, 91.5)
myshape.Name = "My Rectangle"
Set myshape = ActiveSheet.Shapes.AddShape(msoShapeOval, 436.5, 333#,
67.5, 66.75)
myshape.Name = "My Circle"

and

With ActiveSheet
.Shapes("My Rectangle").Delete
.Shapes("My Circle").Delete
End With


--

HTH

Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)
 
D

Dave Peterson

You may want to group the circle and rectangle and instead of deleting, just
move them.

You could even add them multiple times and then toggle the visibility.
 
Top