ListObject は、表形式のデータを簡単に扱うためのオブジェクトで、Excel 2003 から追加されています。
Excel 2003 では、データ - リスト - リストの作成
Excel 2007 以降では、挿入 - テーブル で作られる特殊な Range が ListObject です。
※Excel 2007 から、色分けが可能になっています
VSTO の環境では、ToolBox - Excelコントロール に ListObject があるので、VSTO の開発者にはお馴染みです。
この ListObject で指定された Range とグラフデータと一致させると、
ListObject の範囲変更と連動して、グラフの範囲も連動して変更されます。
↓ ↓ ↓
Excel 2007 からは、列の連動も自動的に行われます。
↓ ↓ ↓
Excel 2010 だと、連動している様子が理解できます。(※範囲指定時にテーブル名が反映される)
グラフの連動は、Excelのバージョンによって多少の癖があります。
データの指定順を変えるとうまく行かなかったり、範囲の指定方法が統一されていなかったり・・・
この辺の操作は慣れるしかないのかも?
その他、ListObject は、列毎の並べ替え・フィルタリングが簡単に行えます。
Excel 2003
Excel 2007
ListObject の最大の利点は、外部の DB と簡単にリンクできる点です。
特に SharePoint とのリンクには専用のメニューが用意されているので、
SharePoint を導入している企業ユーザーは、積極的に ListObject を使うと便利です。
VSTO を使えば、DataSet/DataTable とのリンクが可能になり、Excelの表に反映できます。
ついでにグラフも自動的に更新されるので手間いらずです。
以前はこの辺の手順をコーディングしていましたが、今ではすっかりお任せするようになりました。
(豆知識)
ListObject を「リスト」と呼ぶと、入力規則の「リスト」と混同してしまうので、
Excel 2007 以降では「テーブル」という呼ぶようになったと何処かで呼んだ記憶があります。
オブジェクト名が ListObject なので混乱してしまいます。何とかしてくださいww