Home » エクセルマクロ・Excel VBAの使い方 » ListObjectオブジェクト » ListObjectの列・ListColumnを選択する

ListObjectの列・ListColumnを選択する

対象:Excel2007, Excel2010, Excel2013, Windows版Excel2016

「excel vba テーブルの列を選択」
という検索で、このサイト『インストラクターのネタ帳』へのアクセスがありました。

ListObjectオブジェクト・テーブルの、いずれかの列を選択する、Excel VBAのコードを探していた方による検索でしょうか。

「excel vba テーブルの列を選択」
という検索キーワードだけでは詳細がわかりませんので、参考になりそうなシンプルなマクロを2つご紹介しておきます。

[スポンサードリンク]

インデックス番号を使ってテーブルの列を選択するサンプルマクロ

以下のマクロを実行すると、アクティブなシート上の1つ目のテーブルの、1列目が選択されます。
Sub 列を選択する_インデックス番号で指定()
 ActiveSheet.ListObjects(1).ListColumns(1).Range.Select
End Sub

「ActiveSheet.ListObjects(1)」は、アクティブシートから、1つ目のListObjectオブジェクト・テーブルを取得する、ListObjectオーブジェクト・テーブルを扱うなら理解が必須のオブジェクト式です。

つづく「.ListColumns(1)」が、テーブルの列を表すListColumnオブジェクトを取得している部分です。

ListObjectオブジェクトのListColumnsプロパティで、ListColumnsコレクションオブジェクトを取得して、

VBAでListObject・テーブルの列を選択する

ListColumns._Defaultプロパティに「1」を指定することで、1列目を表すListColumnオブジェクトを取得しています。

VBAでListObject・テーブルの列を選択する

ListColumnオブジェクトには、選択を行うSelect的なメソッドが存在しないため、ListColumn.Rangeプロパティで、テーブルの列を表すRangeオブジェクトを取得して、

VBAでListObject・テーブルの列を選択する

RangeオブジェクトのSelectメソッドで選択しています。

見出しの文字列を使ってテーブルの列を選択するマクロ

見出しの文字列・列名を使っても列を選択することができます。
Sub 列を選択する_列名で指定()
 ActiveSheet.ListObjects(1).ListColumns("氏名_姓").Range.Select
End Sub

上記のマクロを実行すると「氏名_姓」という列が選択されます。

ListColumnsコレクションオブジェクトのデフォルトプロパティに、列を特定する文字列を指定しているところだけが、先にご紹介したインデックス番号で列を選択するマクロと異なっています。

最終更新日時:2019-10-02 13:57

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » ListObjectオブジェクト » ListObjectの列・ListColumnを選択する

「ListObjectオブジェクト」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.