Skip to main content

Range.Insert method

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 A variable that represents a Range object.


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



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
End With


The following 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

The following example inserts a blank row between existing rows


Leave a comment

Your email address will not be published. Required fields are marked *

Format your code: <pre><code class="language-vba">place your code here</code></pre>