こんにちは、フリーランスエンジニア兼ライターのワキザカ サンシロウです。
皆さんは、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:削除
具体的な使い方をセットで覚えたほうが覚えやすいので、合わせて覚えておくのがおすすめです!
挿入・コピー・クリア・削除については以下で詳しく解説しているので、気になる方は見てみてくださいね!
まとめ
今回は、列を指定するためのColumnsプロパティの使い方について解説しました。
行・列でデータができているExcelだからこそ、列の操作は良くします。
使い方も簡単なので、ぜひ使ってみてくださいね!