【ExcelVBA】Columnsプロパティを使って列操作する方法を徹底解説!

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

皆さんは、VBAで列を指定して処理を作る方法を知っていますか?

Excelは行・列でできているため、データを操作するときに列の操作はよく使います。

そこで今回は、

・列の操作をするためのColumnプロパティとは?

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

・Columnsプロパティの具体的な使い方

・Columnsプロパティ・Columnプロパティの違い

・合わせて覚えると便利な列操作方法

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

目次

Columnsプロパティとは

はじめに、Columnsプロパティの使い方について簡単に解説します。

Columnsプロパティは、次のように書くことで列を指定することができます。

使い方:

Columns(列番号 or 列名)          '1列指定
Columns("開始列名:終了列名")    '複数列指定

列番号には1、2、5のように数値を入力し、列名にはA、B、Eのようにアルファベットの列名を入れます。

このように、簡単に列を指定した処理を作ることができます。

Columnsプロパティをつかったサンプルコード

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

今回は、列をコピーするサンプルを用意しました。

実行前:

サンプルコード:

Sub Test()
  Columns("A:C").Copy Columns("E")
End Sub

実行後:

「Columns("A:C")」でA ~ Cの列をコピーし、貼り付け先「Columns("E")」を指定してE列からデータを張り付けています。

このように、列を指定した処理を書くことができるのが、Columnsプロパティの特徴です。

Columnsプロパティ・Columnプロパティの違い

ここまでColumnsプロパティの使い方について解説してきました。

Columnsプロパティに似ているプロパティに、Columnプロパティがあります。

使い方について混乱する方が多いので、簡単に違いについて解説します。


・Column :列を取得するプロパティ
・Columns:列を指定して操作するプロパティ

たとえば、B2セルの列を取得する場合は、次のように書きます。

サンプルコード:

Sub Test1()
  Debug.Print "B2セルの列番号:"; Range("B2").Column
End Sub

実行結果:

B2セルの列番号: 2 

このように、セルの列番号を簡単に取得することができます。

合わせて覚えると便利な列操作方法

ただ、ここまで読んで次のように思っている方もいるのではないでしょうか。

「なるほど、列の指定をするときはColumnsプロパティを使えばいいのか。で、どうやって列を操作するんだろう・・・?」

それぞれ、次のメソッドで操作することができます。


・Insert:挿入
・Copy:コピー
・Clear:クリア
・Delete:削除

具体的な使い方をセットで覚えたほうが覚えやすいので、合わせて覚えておくのがおすすめです!

挿入・コピー・クリア・削除については以下で詳しく解説しているので、気になる方は見てみてくださいね!


【ExcelVBA入門】列をコピーするためのCopyメソッドの使い方とは
更新日:2024年3月1日

【VBA入門】行・列の削除とクリアをする方法
更新日:2024年3月29日

まとめ

今回は、列を指定するためのColumnsプロパティの使い方について解説しました。

行・列でデータができているExcelだからこそ、列の操作は良くします。

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

この記事を書いた人

北海道出身の30歳で、フリーランスエンジニア兼テックライターとして活動中。新卒入社したメーカー系のIT企業で、システムエンジニアとして約5年勤務。

Webアプリ、業務アプリ開発において、要件定義 ~ 運用保守まで様々な経験あり。また3歳の娘がいる1児のパパで、日々娘との時間を確保するために仕事を頑張っています!
侍エンジニアでは、【誰でもわかるレベルのわかりやすさ】を意識して、記事を執筆中。

目次