構文
Object.Insert(Shift, CopyOrigin)
定数
引数 | 説明 | 引数を省略した場合 |
Object | 対象となるオブジェクトを指定 ・Range オブジェクト | 省略不可 |
Shift | xlShiftDown→挿入後下に移動 | 挿入する内容によって自動判別 |
xlShiftToRight→挿入後右に移動 | ||
CopyOrigin | xlFormatFromLeftOrAbove →左または上と同じ書式を適用 | 挿入する内容によって自動判別 |
xlFormatFromRightOrBelow→右または下と同じ書式を適用 |
コードサンプル
Public Sub sample_Insert_method() '■2行目に行挿入(行追加) Rows(2).Insert '■3列目(C列)に列挿入(列追加) Columns(3).Insert '■5行目から8行目まで複数行を挿入 Rows("5:8").Insert '■B列からC列目まで複数列を挿入 Columns("B:C").Insert '■ズレます■1行目、3行目~5行目まで複数行を挿入 Range("1:1,3:5").Insert '実際には1行目が追加、4~6行目が追加となる '■ズレます■A列、C列~E列まで複数列を挿入 Range("A:A,C:E").Insert '実際にはA列が追加、D~F列目が追加となる '■オプションはセル追加の場合に使用するケースが多いです。 '■セルを追加挿入後、元のセルは右へ移動、右の書式を利用 Range("A1:C3").Insert Shift:=xlShiftToRight, CopyOrigin:=xlFormatFromRightOrBelow '■セルを追加挿入後、元のセルは下へ移動、上の書式を利用 Range("A1:C3").Insert Shift:=xlShiftDown, CopyOrigin:=xlFormatFromLeftOrAbove End Sub
注意
・引数Shiftを省略した場合、挿入後の移動方向は自動的に決まります。
対象 | 挿入後の方向 |
列 | 右方向 |
行 | 下方向 |
セル範囲(縦長) | 右方向 |
セル範囲(横長) | 下方向 |
セル範囲(正方形) | 下方向 |
セル範囲の場合は形によって変わりますので、省略しない方が望ましいです。
関連記事
一行おきに空白行を挿入する【ExcelVBA】
ループ中に条件を満たす行の行削除を行う【ExcelVBA】
ループ中に条件を満たす列の列削除を行う【ExcelVBA】
コメント