Home » エクセルマクロ・Excel VBAの使い方 » ListObjectオブジェクト » テーブル見出しをFor Each~Nextで-HeaderRowRange

テーブル見出しをFor Each~Nextで-HeaderRowRange

動作検証バージョン:Windows版Excel(バージョン1909 ビルド12026.20344)

「ListColumns 見出し For Each」
という検索キーワードでのアクセスが時折あります。

テーブル(ListObjectオブジェクト)の列見出しを、For Each~Nextループで処理するには、どのようなコードを書けばいいのかを探していた方による検索です。

[スポンサードリンク]

このサイト『インストラクターのネタ帳』では、ListColumnsコレクションからFor Each~NextループでListColumnオブジェクトを順番に取得して、見出し名を取得するサンプルを既にご紹介しています。

他にも見出し名を取得する書き方があります。

見出し名を取得するサンプル

テーブルの存在しているワークシートがアクティブな状態で、以下のSubプロシージャを実行すれば、一つ目のテーブルの列名が、イミディエイトウィンドウに出力されます。

Sub ListObjectの見出し名を取得する_HeaderRowRange()
 With ActiveSheet.ListObjects(1)
  Dim rng As Range
  For Each rng In .HeaderRowRange
   Debug.Print rng.Value
  Next
 End With
End Sub

HeaderRowRangeで見出し部分を取得できる

ListObjectオブジェクトに用意されているHeaderRowRangeプロパティを使えば、テーブルのフィールド見出し部分だけを表すコレクションとしてのRangeオブジェクトを取得できます。

取得したコレクションとしてのRangeに対してFor Each~Nextループを回して、RangeオブジェクトのValueプロパティで取得した、セルのデータ(文字列)を出力しているのが、上記のSubプロシージャです。

最終更新日時:2019-11-12 10:33

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » ListObjectオブジェクト » テーブル見出しをFor Each~Nextで-HeaderRowRange

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

検索


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

.