テーブル機能の備忘録 ④ 列の追加

先日から、マクロによるテーブル機能の扱いを纏めている(備忘録)。
infoment.hatenablog.com
今日は昨日とほぼ同じで、列についてのご紹介。
f:id:Infoment:20140328150558j:plain

テーブルの列を追加する場合、どうすれば良いか。
最も手っ取り早いのは、行の場合と同じだ。列の横に文字を入力すれば、Excelが空気を読んで、良い感じにテーブル範囲を拡張してくれる。
f:id:Infoment:20200227221544g:plain

マクロなら、こんな感じだ。

Sub Test()
    Dim Tb As Excel.ListObject
    Set Tb = ActiveSheet.ListObjects(1)

        Tb.ListColumns.Add
End Sub

ListRowと同様、列の追加個所を指定することが可能で、戻り値としてListColumnオブジェクトを取得することもできる。この辺りは、昨日とほぼ同じなので割愛。

ところでテーブルが1列目から始まっていない場合のマクロは、どうなるだろう。

Sub Test()
    Dim Tb As Excel.ListObject
    Set Tb = ActiveSheet.ListObjects(1)

        Tb.ListColumns.Add 3
End Sub

これを、このテーブルで実行してみる。
シートの三列目ではなく、テーブルの三列目に新たな列が挿入されたことが、見て取れる。
f:id:Infoment:20200227222215p:plain

テーブルの起点アドレスを意識する必要が無いので、この仕様は有難い。これは、ListRowの場合も同じだ。

明日に続きます。

参考まで。