【Excel】テーブルと名前の管理

いくら調べても解らなかった事です。ご存知のかた、おられるでしょうか?

まず、適当な範囲を、Ctrl+tなどで、テーブルに変換します。そして、デザインタブから、テーブルの名前をつけます。ここでは、T_Testとでもしておきます。

こうした場合、名前の管理画面にはもちろん、T_Testが設定されています。
私が知りたいのは、ここにおける名前はいったい何なのか、という事です。

と言うのは、この名前の管理画面で、テーブル名が示している参照範囲をよく見ると、テーブル全体では無く、テーブルのデータ部分を示しているのです。

テーブルを設定する所をマクロ記録してみると、当然、対象のシートに、ListObjectオブジェクトが追加されます(ListObjects.Addメソッド)。ですから、名前の管理画面に表示されている参照範囲は、ListObject("T_Test").Rangeであろうと思われるのですが、先に書いたように、実際にはテーブルのデータ部分、つまり、ListObject("T_Test").DataBodyRange部分を指している訳です。

という事は、もしかしたら、ListObjectオブジェクトを追加するとともに、そのデータ部分を、ワークブックのNamesに追加しているのだろうか、と思って、そこを調べてみたのですが、どうも違うようです。結局の所、これは何につけられた名前なのでしょうか。

名前の管理における参照範囲がDataBodyRange部分となっているのは、色々と便利です。たとえば、入力規則のリスト範囲を自動的に変更したい場合を考えると、1列のテーブルを作っておけば、入力規則の指定部分に=INDIRECT("T_Test")と入れさえすれば、そのデータ部分がリストに出来たりするからです(後からデータ部分に名前をつけたり、構造化参照で列を指定しなくて良い)。

で、実際便利なのですが、よく考えてみると、なんで見出しはちゃんと除かれるのだろう、そもそも名前の管理でのテーブル名は、ListObject.Rangeプロパティにつけられた名前とは違うのではないか、と思い至ったのでありました。

もしかしたら、私が基本的な部分を知らないだけの可能性もありますが、どなたか、詳しい構造をご存知ないでしょうか。