Home » エクセルマクロ・Excel VBAの使い方 » ListObjectオブジェクト » テーブル・ListObjectの開始セルを取得する

テーブル・ListObjectの開始セルを取得する

対象:Excel 2010, Excel 2013, Windows版Excel 2016

「vba tableの開始セル .listobjects」
という検索キーワードでのアクセスがありました。

「table」と表現されていますが、テーブル機能・ListObjectオブジェクトの、開始セルを取得するにはどうすればいいのかを調べていらした方による検索でしょうか。

[スポンサードリンク]

ListObjectの開始セルを取得するサンプルマクロ

テーブルの存在するワークシートがアクティブな状態で、以下のSubプロシージャを実行すると、ListObjectオブジェクトの一番左上のセルのアドレスがメッセージボックスに表示されます。
Sub ListObjectの開始セルを取得する()
 Dim rng As Range
 Set rng = ActiveSheet.ListObjects(1).Range.Cells(1, 1)
 MsgBox rng.Address(False, False)
End Sub

サンプルマクロのオブジェクトを取得する式について

ListObjectオブジェクトの存在するセルは、ListObjectオブジェクトのRangeプロパティで取得できます。

テーブル・ListObjectの開始セルを取得する

その開始セルなので、Excel VBAユーザーにおなじみのCellsプロパティに「1, 1」と引数を指定しています。

厳密にはCellsプロパティの引数ではなく、Rangeオブジェクトの既定プロパティですが。

あるセル範囲から1つのセルを表すRangeオブジェクトを取得するには、Cellsプロパティに行・列を表す引数を指定する方法がメジャーなので、上記のオブジェクト式をわかりやすいと感じる方が多そうですが、
  Set rng = ActiveSheet.ListObjects(1).Range.Cells(1)
や、Range.Itemプロパティを使って、
  Set rng = ActiveSheet.ListObjects(1).Range.Item(1)
としても同じことです。

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » ListObjectオブジェクト » テーブル・ListObjectの開始セルを取得する

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

検索


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

.