Insert Method
Insert method as it applies to the Range object.
Inserts a cell or a range of cells into the worksheet or macro sheet and shifts other cells away to make space.
expression.Insert(Shift, CopyOrigin)
expression Required. An expression that returns a Range object.
Shift Optional Variant. Specifies which way to shift the cells. Can be one of the following XlInsertShiftDirection constants: xlShiftToRight or xlShiftDown. If this argument is omitted, Microsoft Excel decides based on the shape of the range.
CopyOrigin Optional Variant. The copy origin.
Insert method as it applies to the Characters object.
Inserts a string preceding the selected characters.
expression.Insert(String)
expression Required. An expression that returns a Characters object.
String Required String. The string to insert.
Insert method as it applies to the ShapeNodes object.
Inserts a node into a freeform shape.
expression.Insert(Index, SegmentType, EditingType, X1, Y1, X2, Y2, X3, Y3)
expression Required. An expression that returns a ShapeNodes object.
Index Required Long. The number of the shape node after which to insert a new node.
SegmentType Required MsoSegmentType. The segment type.
MsoSegmentType can be one of these MsoSegmentType constants. |
msoSegmentCurve |
msoSegmentLine |
EditingType Required MsoEditingType. The editing type.
MsoEditingType can be one of these MsoEditingType constants. |
msoEditingAuto |
msoEditingCorner |
msoEditingSmooth |
msoEditingSymmetric |
X1 Required Single. If the EditingType of the new segment is msoEditingAuto, this argument specifies the horizontal distance, measured in points, from the upper-left corner of the document to the end point of the new segment. If the EditingType of the new node is msoEditingCorner, this argument specifies the horizontal distance, measured in points, from the upper-left corner of the document to the first control point for the new segment.
Y1 Required Single. If the EditingType of the new segment is msoEditingAuto, this argument specifies the vertical distance, measured in points, from the upper-left corner of the document to the end point of the new segment. If the EditingType of the new node is msoEditingCorner, this argument specifies the vertical distance, measured in points, from the upper-left corner of the document to the first control point for the new segment.
X2 Optional Single. If the EditingType of the new segment is msoEditingCorner, this argument specifies the horizontal distance, measured in points, from the upper-left corner of the document to the second control point for the new segment. If the EditingType of the new segment is msoEditingAuto, don't specify a value for this argument.
Y2 Optional Single. If the EditingType of the new segment is msoEditingCorner, this argument specifies the vertical distance, measured in points, from the upper-left corner of the document to the second control point for the new segment. If the EditingType of the new segment is msoEditingAuto, don't specify a value for this argument.
X3 Optional Single. If the EditingType of the new segment is msoEditingCorner, this argument specifies the horizontal distance, measured in points, from the upper-left corner of the document to the end point of the new segment. If the EditingType of the new segment is msoEditingAuto, don't specify a value for this argument.
Y3 Optional Single. If the EditingType of the new segment is msoEditingCorner, this argument specifies the vertical distance, measured in points, from the upper-left corner of the document to the end point of the new segment. If the EditingType of the new segment is msoEditingAuto, don't specify a value for this argument.
Example
This example selects the third shape in the active document, checks whether the shape is a Freeform object, and if it is, inserts a node. This example assumes three shapes exist on the active worksheet.
Sub InsertShapeNode()
ActiveSheet.Shapes(3).Select
With Selection.ShapeRange
If .Type = msoFreeform Then
.Nodes.Insert _
Index:=3, SegmentType:=msoSegmentCurve, _
EditingType:=msoEditingSymmetric, X1:=35, Y1:=100
.Fill.ForeColor.RGB = RGB(0, 0, 200)
.Fill.Visible = msoTrue
Else
MsgBox "This shape is not a Freeform object."
End If
End With
End Sub