「excel vba テーブルの列を選択」
という検索で、このサイト『インストラクターのネタ帳』へのアクセスがありました。
ListObjectオブジェクト・テーブルの、いずれかの列を選択する、Excel VBAのコードを探していた方による検索でしょうか。
「excel vba テーブルの列を選択」
という検索キーワードだけでは詳細がわかりませんので、参考になりそうなシンプルなマクロを2つご紹介しておきます。
インデックス番号を使ってテーブルの列を選択するサンプルマクロ
以下のマクロを実行すると、アクティブなシート上の1つ目のテーブルの、1列目が選択されます。ActiveSheet.ListObjects(1).ListColumns(1).Range.Select
End Sub
「ActiveSheet.ListObjects(1)」は、アクティブシートから、1つ目のListObjectオブジェクト・テーブルを取得する、ListObjectオーブジェクト・テーブルを扱うなら理解が必須のオブジェクト式です。
つづく「.ListColumns(1)」が、テーブルの列を表すListColumnオブジェクトを取得している部分です。
ListObjectオブジェクトのListColumnsプロパティで、ListColumnsコレクションオブジェクトを取得して、
ListColumns._Defaultプロパティに「1」を指定することで、1列目を表すListColumnオブジェクトを取得しています。
ListColumnオブジェクトには、選択を行うSelect的なメソッドが存在しないため、ListColumn.Rangeプロパティで、テーブルの列を表すRangeオブジェクトを取得して、
RangeオブジェクトのSelectメソッドで選択しています。
見出しの文字列を使ってテーブルの列を選択するマクロ
見出しの文字列・列名を使っても列を選択することができます。ActiveSheet.ListObjects(1).ListColumns("氏名_姓").Range.Select
End Sub
上記のマクロを実行すると「氏名_姓」という列が選択されます。
ListColumnsコレクションオブジェクトのデフォルトプロパティに、列を特定する文字列を指定しているところだけが、先にご紹介したインデックス番号で列を選択するマクロと異なっています。
最終更新日時:2019-10-02 13:57
- Newer:VBAでピボットテーブルの総計を非表示に
- Older:Findで下から上へ検索したい
Home » エクセルマクロ・Excel VBAの使い方 » ListObjectオブジェクト » ListObjectの列・ListColumnを選択する