Excel VBAでは、テーブル形式のデータ構造を操作するための特別なオブジェクトが提供されています。変数のListObject型と基本的な使い方について解説します.
ListObjectとは?
ListObjectは、Excelシート内のテーブルを参照・操作するためのオブジェクトです。
テーブルは行や列のセットであり、フィルタリングやソート、ヘッダーとトータル行の管理など、多くの機能を持っています。 ListObjectはデータをVBAから効果的に操作することができます。
変数型としてのListObjectとは
シート内の特定のテーブルを参照するためのものとして使用されます。
VBA内でListObjectを扱う際に、次のように変数を宣言します。
Dim MyTable As ListObject
ListObjectの基本的な操作方法とは
以下は「Dim MyTable As ListObject」を宣言している事を前提にしています。
テーブルを参照する
Set MyTable = ThisWorkbook.Sheets("Sheet1").ListObjects("Table1")
テーブル内のデータ範囲を取得
Dim rng As Range
Set rng = MyTable.DataBodyRange
テーブルの列を参照
コードの「MyTable.ListColumns(1)」はデータテーブルの1列目を参照します。
Dim col As ListColumn
Set col = MyTable.ListColumns(1)
テーブルの行を参照
コードの「MyTable.ListRows(1)」はデータテーブルの1行目を参照します。
Dim row As ListRow
Set row = MyTable.ListRows(1)