【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メソッドの使い方とは
更新日 : 2018年9月5日

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

まとめ

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

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

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

「プログラミング、右も左もわからない…」という方にオススメ

当プログラミングスクール「侍エンジニア塾」では、これまで6000人以上のエンジニアを輩出してきました。

その経験を通してプログラミング学習に成功する人は、「目的目標が明確でそれに合わせた学習プランがあること」「常に相談できる人がそばにいること」「自己解決能力が身につくこと」この3つが根付いている傾向を発見しました。

侍エンジニア塾は上記3つの成功ポイントを満たすようなサービス設計に磨きをかけております。

cta_under_bnr

「自分のスタイルや目的に合わせて学習を進めたいな」とお考えの方は、ぜひチェックしてみてください。

書いた人

Sanshiro Wakizaka

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

Webアプリ、業務アプリ開発において、要件定義 ~ 運用保守まで様々な経験あり。また3歳の娘がいる1児のパパで、日々娘との時間を確保するために仕事を頑張っています!

侍エンジニアでは、【誰でもわかるレベルのわかりやすさ】を意識して、記事を執筆中。

おすすめコンテンツ

まずはここから!初心者でも1から学べるプログラミング入門カリキュラム

転職成功で受講料0円!あなたもプログラミングを学んでエンジニアデビュー