Return to VBA Code Examples

VBA 行や列を挿入する

このチュートリアルでは、VBAを使ってExcelで行と列を挿入する方法を説明します。

行や列を挿入するには、Insertメソッドを使います。

単一の行または列の挿入

新しい行の挿入

1つの行を挿入するには、Rowsオブジェクトを使います。

Rows(4).Insert

また、RangeオブジェクトとEntireRowを併用することもできます。

Range("b4").EntireRow.Insert

新しい列の挿入

行の挿入と同様に、Columnsオブジェクトを使って列を挿入することができます。

Columns(4).Insert

また、RangeオブジェクトとEntireColumnを併用することもできます。

Range("b4").EntireColumn.Insert

複数の行または列の挿入

複数の行の挿入

Rows オブジェクトを使用して複数の行を挿入する場合は、行を引用符で囲んで入力する必要があります。

Rows("4:6").Insert

Rangeオブジェクトを使用して複数の行を挿入する場合も、1つの行の場合と同様に動作します。

Range("b4:b6").EntireRow.Insert

複数列の挿入

Columns オブジェクトを使用して複数の列を挿入する場合は、列名を引用符で囲んで入力します。 文字を引用符で囲みます。

Columns("B:D").Insert

Rangeオブジェクトを使用して複数の列を挿入する場合も、単一の列の場合と同様に動作します。

Range("b4:d4").EntireColumn.Insert

挿入 − シフトとCopyOrigin

Insertメソッドには2つのオプション引数があります。

  • Shift − どの方向にセルをシフトするか
  • CopyOrigin − どのセルの書式をコピーするか (上、下、左、右)

Shift引数は、行や列全体を挿入する際には関係ありません。この引数では、下にシフトするか右にシフトするかを示すことができるだけです。

  • xlShiftDown − セルを下にシフトする
  • xlShiftToRight − セルを右にシフトする

ご覧のとおり、上や右へのシフトはできません。

CopyOrigin引数には2つの入力候補があります。

  • xlFormatFromLeftorAbove − (0) 新しく挿入されたセルは、上または左のセルから書式を受け取ります。
  • xlFormatFromRightorBelow − (1) 新しく挿入されたセルは、下または右のセルから書式を受け取ります。

CopyOrigin引数の例を見てみましょう。これが最初の状態です。

vba insert row jp

この例では、上の行から書式を取って行を挿入します。

Rows(5).Insert , xlFormatFromLeftOrAbove

vba insert row above jp

この例では、下の行の書式を使用して行を挿入します。

Rows(5).Insert , xlFormatFromRightOrBelow

vba insert row below jp

その他の挿入例

コピーした行または列の挿入

コピーされた行を挿入したい場合は、以下のようなコードを使用します。

Range("1:1").Copy
Range("5:5").Insert

ここでは、1行目をコピーして、5行目に挿入しています。

セルの値に応じた行の挿入

範囲内をループして、セルの値に応じて行を挿入します。

Sub InsertRowswithSpecificValue() 
Dim cell As Range 
For Each cell In Range("b2:b20")
    If cell.Value = "insert" Then
        cell.EntireRow.Insert
    End If
Next cell
End Sub

行や列の削除

行や列を削除するには、単純にDeleteメソッドを使います。

Rows(1).Delete

Range("a1").EntireRow.Delete

Columns(1).Delete

Range("a1").EntireColumn.Delete
vba-free-addin

VBA Code Examples Add-in

Easily access all of the code examples found on our site.

Simply navigate to the menu, click, and the code will be inserted directly into your module. .xlam add-in.

(No installation required!)

Free Download

Return to VBA Code Examples