堺風の頭部

徘徊、カメラ、PC、その他。

Excel VBAでセルに #見出し を書き込めない?

 Excelで、テーブル作りますでしょ。

 で、この見出しをMATCH関数で参照したくて、どこかのセルに

=MATCH("市",テーブル[#見出し],0)

 と書き込むと、テーブルの見出しを参照して、この場合 "市" なので2が返ってくる。
 当然なんの疑問もない。

 

 が、これをVBAからそのようにセルに書き込もうとするとだめ。

Cells(7,1)="=MATCH(""市"",テーブル[#見出し],0)"

 これをイミディエイトウィンドウで実行してやると、エラーになる。

 

Cells(7,1)="=MATCH(""山形市"",テーブル[市],0)"

 これは問題ない。A7セルに、テーブルの 市 の列から「山形市」を検索して1が返る式が入る。

 多分 #見出し というのが書き込めないくさい。

 

Cells(7,1)="=MATCH(""市"",テーブル[" & Chr(35) & "見出し],0)"

 これでもだめ。

 

Cells(7,1)="=#"

 これだけでも、上記画像のエラーが出る。

 

Cells(7,1)="=#N/A"

 これは#N/Aエラーが書き込まれる。

 

 見たところ、「VBAでセルに数式として#を書き込んだ場合、続きがエラーを指す文言になっていなければエラーになる」という動作をしてるように見えるのだが、では [#見出し] を参照するようにどうやって書けるんだ?