ExcelWork.info

リスト・テーブル(ListObjects オブジェクト)

リスト・テーブル(ListObjects オブジェクト)

ワークシート内のすべての ListObject オブジェクトのコレクションを表します。ListObject オブジェクトは、ワークシート内の 1 つのテーブルまたはリストを表します。
ListObjects オブジェクト(コレクション)を取得するには、Worksheet オブジェクトの ListObjects プロパティを使用します。

1行目が見出し、2行目以降にデータが入力されている表は、リスト(Excel 2003)やテーブル(Excel 2007 以降)として認識させることができます。

ListObjects コレクションの取得


【書式】

<取得>
object.ListObjects


引数・戻り値

  • object  ・・・  対象となる Worksheet オブジェクトを指定します。
  • 戻り値  ・・・  ListObjects コレクション


ListObjects オブジェクトの主なメソッド・プロパティ


Add メソッド


【書式】

object.Add ( [ sourcetype, source, linksource, xllistobjecthasheaders, destination, tablestylename ] )


引数・戻り値

  • object  ・・・  対象となる ListObjects オブジェクトを指定します。
  • sourcetype  ・・・  作成するテーブルの元データの種類を表す XlListObjectSourceType 列挙型 の定数を指定します。
    定数 内容
    xlSrcExternal 0 外部データソース(SharePoint Foundation サイト)
    xlSrcRange 1 セル範囲(既定値)
    xlSrcXml 2 XML
    xlSrcQuery 3 クエリ(Excel 2007 以降)
    xlSrcModel 4 PowerPivot モデル

  • source  ・・・  元データを指定します。
    引数 sourcetype に、xlSrcRange が指定されている場合は、元データのセル範囲を Range オブジェクトで指定します。また、省略した場合は、アクティブセル領域が対象となります。
    引数 sourcetype に、xlSrcExternal の場合は、データソースへの接続を示す配列を指定します。
  • linksource  ・・・  ブール型(Boolean)の値を使用します。外部データソースを ListObject オブジェクトにリンクするかどうかを指定します。引数 sourcetypexlSrcExternal の場合は、既定値は True です。sourcetypexlSrcRange の場合は無効となり、省略しないとエラーが発生します。
  • xllistobjecthasheaders  ・・・  先頭行が見出しかどうかを示す XlYesNoGuess 列挙型 の定数を指定します。見出しを持たない場合は、自動的に生成されます。
    定数 内容
    xlGuess 0 見出しがあるかどうか、ある場合はその場所を Excel が特定します。
    xlYes 1 範囲全体が並べ替えられません。
    xlNo 2 範囲全体が並べ替えの対象になります(既定値)。

  • destination  ・・・  新しく作成するリストオブジェクトの左上隅の配置先として単一のセルを Range オブジェクトで指定します。Range オブジェクトが複数のセルを参照する場合は、エラーが発生します。
    引数 sourcetypexlSrcExternal の場合は、引数 destination を必ず指定します。
    引数 sourcetypexlSrcRange の場合は、引数 destination は無視されます。
    配置先に指定する範囲は、式で指定されている ListObjects コレクションを含むワークシート上にある必要があります。新しい列は、新しいリストに収まるよう 引数 destination の位置に挿入されます。したがって、既存のデータは上書きされません。
  • tablestylename  ・・・  テーブルに設定するスタイル名を指定します。省略した場合は、既定のテーブルスタイルが自動的に設定されます。この引数は、Excel 2007 以降のみ有効です。

テーブルに変換済みの表に対して、Add メソッドを実行するとエラーが発生します。


Count プロパティ


【書式】

<取得>
object.Count


引数・戻り値

  • object  ・・・  対象となる ListObjects オブジェクトを指定します。
  • 戻り値  ・・・  ワークシート内の ListObject の数。

Item プロパティ


【書式】

<取得>
object[ .Item ] ( index )


引数・戻り値

  • object  ・・・  対象となる ListObjects オブジェクトを指定します。
  • index  ・・・  インデックス番号(1 から始まる整数値)または、テーブル名(文字列)を指定します。
  • 戻り値  ・・・  ListObject オブジェクト

ListObject オブジェクト に関する詳細は、リスト・テーブル(ListObject オブジェクト) を参照してください。



ListObjects コレクション 使用例

サンプルVBAソース


実行結果

サンプルVBAソース実行前

サンプルVBAソース実行(表をテーブル・リストに変換)

サンプルVBAソース実行(リスト・テーブルを通常の表に戻す)