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

こんにちは、フリーランスエンジニア兼ライターのワキザカ サンシロウです。

皆さんは、VBAで列の挿入をする方法を知っていますか?

データの追加をする際に、列を挿入するケースはよくありますよね。

そこで今回は、

・列を挿入する方法

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

・セル範囲を指定して列を挿入する方法

・複数列を指定して列を挿入する方法

・合わせて覚えると便利な列のコピー・削除方法

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

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

はじめに、列を挿入する方法について簡単に解説します。

VBAで列を挿入する場合は、Insertメソッドを使って以下のように書いて使います。

使い方:

Columns(列番号).Insert」は列番号に入れた列に直接挿入します。

Range(セル名).EntireColumn.Insert」は「Range(セル名).EntireColumn」で指定したセルの列数を取得してから、挿入します。

また、次のようにオプションを後ろに付けて挿入することもできます。

オプションを付けた場合:

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

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

サンプルコード

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

列を指定して1列挿入

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

実行前:

サンプルコード1:

サンプルコード2:

実行後:

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

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

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

実行前:

サンプルコード:

実行後:

サンプルでは、C1~C9セルに列を挿入しています。

Range("C1:C9")」のセル範囲を変更すれば、指定範囲で挿入することができます。

列全体ではなく範囲を指定して挿入する場合は、この方法を使えばOKですね。

複数列挿入

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

実行前:

サンプルコード:

実行後:

サンプルでは、B列目~C列目に列を挿入しています。

Range("B:C")」の列番号の範囲を変更すれば、指定した列数分挿入することができます。

複数列を挿入する場合は、この方法を使えばOKですね。

変数を使った挿入

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

実行前:

サンプルコード1:

サンプルコード2:

実列結果:

どちらも2列目に列を挿入する処理ですが、このように変数を使えばより実用的な使い方ができるのでおすすめです!

選択している列のすぐ右に挿入

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

実行前:

サンプルコード:

実行後:

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

行を挿入する方法とは

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

実行前:

サンプルコード1:

サンプルコード2:

実行後:

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

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

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

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

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

実行前:

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

実行後:

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

実行前:

列削除サンプルコード:

実行後:

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

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

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

まとめ

今回は、VBAで列を挿入する方法について徹底的に解説しました。

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

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

LINEで送る
Pocket

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

cta_under_bnr

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

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

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

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

書いた人

Sanshiro Wakizaka

Sanshiro Wakizaka

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

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

おすすめコンテンツ

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

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