VBA 行や列を挿入する

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

masahiro yoshida

Last updated on 3月 16, 2022

このチュートリアルでは、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