Draw Simple Shapes

Use the Shapes collection Add methods to draw shapes from code. Table 18-2 lists the various Add methods and describes the type of shape they create.

Table 18-2. Shapes collection Add methods

Method

Draws this type of figure

Resulting shape Type

AddCallout

Autoshape callout

msoCallout

AddConnector

Autoshape connector line

msoAutoShape

AddCurve

Bézier curve

msoFreeForm

AddDiagram

Diagram or org chart

msoDiagram

AddFormControl

Forms 1.0 control

msoFormControl

AddLabel

Text box without a border

msoTextBox

AddLine

Line

msoLine

AddOLEObject

Embedded OLE object or Forms 2.0 control (equivalent to the OLEObjects collection’s Add method)

msoEmbeddedOLEObject

AddPicture

Image from a file

msoPicture

AddPolyline

Line with multiple vertices

msoFreeForm

AddShape

Any autoshape

msoAutoShape

AddTextBox

Text box with rectangular border

msoTextBox

AddTextEffect

Embedded WordArt

msoTextEffect

Some Add methods create variations of the same type of shape, while others create seldom used or obsolete shapes. The most useful Add methods are:

    AddConnector
    AddPicture
    AddShape

The AddShape method is the most general, and you can use it to create any of the autoshapes. For example, the following code draws a rectangle on the active sheet:

Sub DrawRect( ) Dim ws As Worksheet, s As Shape Set ws = ActiveSheet ' Draw a rectangle. Set s = ws.Shapes.AddShape(msoShapeRectangle, 10, 20, 100, 20) ' Color it blue s.Fill.Visible = True s.Fill.ForeColor.SchemeColor ...

Get Programming Excel with VBA and .NET now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.