【ExcelVBA入門】行を挿入するためのInsertメソッドの使い方とは

皆さんは、VBAで行の挿入をする方法を知っていますか?データの追加をする際に、行を挿入するケースはよくありますよね。

そこで今回は、

  • 行を挿入する方法

といった基礎的なことから、

  • セル範囲を指定して行を挿入する方法
  • 複数行を指定して行を挿入する方法
  • 合わせて覚えると便利な行のコピー・削除方法

といった応用的な方法まで、徹底的に解説します!

行を挿入するためのInsertメソッドの使い方とは

はじめに、行を挿入する方法について簡単に解説します。VBAで行を挿入する場合は、Insertメソッドを使って以下のように書きます。

使い方:

「Rows(行番号).Insert」は行番号に入れた行に直接行を挿入します。

「Range(セル名).EntireRow.Insert」は「Range(セル名).EntireRow」で指定したセルの行数を取得してから、行を挿入します。また、次のようにオプションを後ろに付けて挿入することもできます。

オプションを付けた場合

shiftオプションは挿入後に移動するセルの移動方法を指定することができ、「xlShiftDown」で下に移動、「xlShiftToRight」で右に移動することができます。

このように、簡単に行を挿入することができます。

サンプルコード

次に、サンプルコードをもとに、具体的な使い方を解説します。

行を指定して1行挿入

はじめに、1行挿入する方法について解説します。

実行前:

サンプルコード1:

サンプルコード2:

実行後:

サンプルコード1、2はどちらも同じ意味なので、直接行番号を指定する場合、セル名で指定する場合など用途に応じて使い分ければOKです。

セル範囲を指定して1行挿入

次に、セル範囲を指定して行挿入する方法について解説します。

実行前:

サンプルコード:

実行後:

サンプルでは、A3、B3セルに行を挿入しています。

「Range(“A3:B3”)」のセル範囲を変更すれば、指定範囲で挿入することができます。行全体ではなく範囲を指定して挿入する場合は、この方法を使えばOKですね。

複数行挿入

次に、複数行を一括で挿入する方法について解説します。

実行前:

サンプルコード:

実行後:

サンプルでは、3行目~5行目にに行を挿入しています。

「Range(“3:5”)」の行番号の範囲を変更すれば、指定した行数分挿入することができます。複数行を挿入する場合は、この方法を使えばOKですね。

変数を使った挿入

次に、変数を使った行の挿入方法について解説します。

実行前:

サンプルコード1:

サンプルコード2:

実行結果:

どちらも5行目に行を挿入する処理ですが、行数を変えたい場合に変数に入れている値を変えるだけで済むため、使い勝手がよくなるのでおすすめです!

なお、サンプルで紹介している「”A” & intRow」は文字列を結合して「”A5″」になるように書いていますが、文字列の結合方法は他にもいろいろあります。

興味がある方は以下も見てみてくださいね!

【VBA入門】文字列の結合を高速にする方法(Mid、Join)
更新日 : 2019年4月18日

選択している行のすぐ下に挿入

次に、選択している行のすぐ下に挿入する方法について解説します。

実行前:

サンプルコード:

実行後:

選択している行は「ActiveCell.Row」で取得することができるので、「ActiveCell.Row + 1」で選択している行の下の行に挿入しています。

列を挿入する方法とは

ここまで行を挿入する方法を解説してきましたが、同じような方法で列も簡単に挿入することができます。

実行前:

サンプルコード1:

サンプルコード2:

実行後:

列番号を指定する場合Rowsの部分をColumnsに変更し、セル名で挿入する場合も「EntireRow」を「EntireColumn」にするだけなので、覚えやすいですね。

このように、列も簡単に挿入することができます。

補足:合わせて覚えると便利な行コピー・削除方法

最後に、行の挿入とあわせて覚えておくと便利な行のコピー、削除方法について解説します。

行をコピーする場合は、Copyメソッドを使って次のように書きます。

実行前:

行コピーサンプルコード:

実行後:

行を削除する場合は、Deleteメソッドを使って次のように書きます。

実行前:

行削除サンプルコード:

実行後:

行のコピー、削除どちらも簡単にできるので、合わせて覚えておくのがおすすめです!

以下で詳しく解説しているので、さらに知りたい方は見てみてくださいね!

【ExcelVBA入門】行をコピーするためのCopyメソッドの使い方とは
更新日 : 2019年4月2日
【VBA入門】行・列の削除とクリアをする方法
更新日 : 2019年4月25日

まとめ

今回はVBAで行をコピーする方法について解説しました

Excelで行の操作をするケースは多いので、行挿入コピー削除を合わせて覚えておくのがおすすめです!

どれも使い方は簡単なので、ぜひ使ってみてくださいね!

LINEで送る
Pocket

最短でエンジニアを目指すなら侍エンジニア塾

cta_under_bnr

侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

無料体験レッスンの詳細はこちら

書いた人

Sanshiro Wakizaka

Sanshiro Wakizaka

フリーランスエンジニア兼ライターのワキザカ サンシロウです。
ExcelVBAの自動化ツール開発、WEB開発をメインにエンジニア業務をこなしつつ、サムライエンジニアにてライター業務をしております。

プログラミングをこれからやってみたい方に向けて、ためになる記事を全力で書いていきますので宜しくお願い致します!

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説