Range.Insert method (Excel)

Inserts a cell or a range of cells into the worksheet or macro sheet and shifts other cells away to make space.

Syntax

expression.Insert (Shift, CopyOrigin)

expression A variable that represents a Range object.

Parameters

Name Required/Optional Data type Description
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; that is, from where to copy the format for inserted cells. Can be one of the following XlInsertFormatOrigin constants: xlFormatFromLeftOrAbove (default) or xlFormatFromRightOrBelow.

Return value

Variant

Remarks

There is no value for CopyOrigin that is equivalent to Clear Formatting when inserting cells interactively in Excel. To achieve this, use the ClearFormats method.

With Range("B2:E5")
    .Insert xlShiftDown
    .ClearFormats
End With

Example

This example inserts a row above row 2, copying the format from the row below (row 3) instead of from the header row.

Range("2:2").Insert CopyOrigin:=xlFormatFromRightOrBelow

Support and feedback

Have questions or feedback about Office VBA or this documentation? Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.