【Excel VBA】列を挿入する基本コードとやさしい解説

VBA & Excel
スポンサーリンク
スポンサーリンク

はじめに

Excelで作業をしていると、
「途中に1列追加したい」
「データの区切りとして列を挿入したい」
そんな場面がよくあります。

VBAでは、列を挿入する方法がいくつかあり、
目的に合わせて使い分けることで、コードがより安全で扱いやすくなります。

ここでは、列を挿入する基本のコードと、そのしくみを解説します。

まずはコードを確認

Columns(3).Insert

もっともシンプルな書き方です。
3列目(C列)の位置に、新しい列が1列挿入されます。

コードのしくみを解説

Columns(列番号).Insert で列を挿入する

Columns(3).Insert は、C列の位置に新しい列を追加します。

  • 元のC列はD列にずれる
  • 挿入された列は空白の状態

複数列をまとめて挿入することもできます。

Columns("C:E").Insert   'C〜E列分のスペースを挿入

Range を使って列を挿入する

Range("C1").EntireColumn.Insert
  • セルを基準に列全体を挿入したいときに便利
  • EntireColumn は「そのセルが属する列」を指します

シートを指定して挿入する

Worksheets("データ").Columns(3).Insert

複数シートを扱う場合は、シート名を明示すると安全です。

あわせて知っておきたいポイント

挿入した列に値を入れる例

Columns(3).Insert
Range("C1").Value = "区切り"

列を挿入したあとに、見出しや区切りを入れる場面で使います。

複数列をまとめて挿入する

Columns(3).Resize(2).Insert   '2列分のスペースを挿入

Resize を使うと柔軟に列数を指定できます。

挿入位置を変数で指定する

Dim c As Long
c = 5
Columns(c).Insert

動的に列を挿入したいときに便利です。

使うときに気をつけたいこと

  • 結合セルがあると挿入範囲が広がることがあります
    → 必要に応じて結合を解除してから挿入します。
  • 大量の列を挿入すると処理が重くなることがあります
    → ScreenUpdating を使うと改善します。
  • 挿入位置を間違えるとデータがずれる
    → 列番号の指定は慎重に。

まとめ

  • Columns(番号).Insert で列を挿入できる
  • EntireColumn を使うとセル基準で列全体を挿入できる
  • 複数列挿入や変数指定など、実務で便利な書き方も多い
  • 列のずれを防ぐために、挿入位置の指定は慎重に
  • 列の挿入を自動化できると、データ整理やレイアウト調整がぐっとスムーズになります。

decopon
decopon

列を挿入する処理は、表の見やすさや整理に直結する大切な機能です。
基本の書き方を押さえておくと、実務での作業がとても楽になります。

moco
moco

新しい列が入ると、表がすこし広がって気持ちいいね。
VBAは、そんな小さな整えごとも手伝ってくれるんだ。

コメント

タイトルとURLをコピーしました