「vba listobject 1行目 取得」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。
テーブル・ListObjectオブジェクトの1行目を取得するVBA(Visual Basic for Applications)のコードを探していた方による検索です。
この「1行目」が、意味しているものの可能性として、
フィールド見出し
データ(レコード)の1行目
の二つが考えられます。
フィールド見出しについては、ListObjectオブジェクトのHeaderRowRangeプロパティで取得できることを既にご紹介していますので、ここでは、データ(レコード)の1行目を取得するコードをご紹介しておきます。
テーブルの1行目を取得するサンプルマクロ
以下のマクロを実行すると、アクティブシートの1つ目のテーブルの、
1行目のデータのアドレス
1行目のデータの行番号
がそれぞれメッセージボックスに表示されたあとに、データの1行目が選択されます。
With ActiveSheet.ListObjects(1).ListRows(1).Range
MsgBox .Address(False, False)
MsgBox .Row
.Select
End With
End Sub
サンプルマクロの解説
上記のマクロで利用しているオブジェクトモデルの階層関係は下図のとおり、結構な深さです。
ListObjectオブジェクトの各レコードを表すListRowオブジェクトのRangeプロパティで、Rangeオブジェクトを取得できるので、
RangeオブジェクトのAddressプロパティを使ってセルのアドレスを取得して、
MsgBox .Address(False, False)
RangeオブジェクトのRowプロパティを使って行番号を取得して、
MsgBox .Row
RangeオブジェクトのSelectメソッドで選択を行っています。
.Select
最終更新日時:2019-10-28 13:03
Home » エクセルマクロ・Excel VBAの使い方 » ListObjectオブジェクト » ListObject1行目のデータ・レコードを取得する