【VBA関係】VBAでExcelのテーブルに列を挿入する|ListObject/構造化参照|ポテの学習メモ #012

アフィリエイト広告を利用しています。

アイキャッチ画像

次のテーブルを操作する。

本稿で扱うテーブル

「販売金額」の右横に列を追加し、「販売金額」に0.9を乗じた金額を表示させる。コードと、その実行結果は次の通り。なお、テーブルのインデックスは1(ListObject(1))であることが前提。

Sub AddColumns()


    ' 変数宣言
    Dim ws  As Worksheet
    Dim tbl As ListObject
    Dim rng As Range
    Dim new_col As ListColumn
    
    
    ' ワークシートを取得
    Set ws = ThisWorkbook.Worksheets(1)

    ' テーブル(ListObject)を取得
    Set tbl = ws.ListObjects(1)
    
    ' 列を追加
    Set new_col = tbl.ListColumns.Add
    new_col.Name = "x0.9"
    new_col.DataBodyRange = "=[@販売金額]*0.9"
    
    
End Sub
実行結果
実行結果

意図通りに追加された。

追加処理を行っているところはここ↓

    ' 列を追加
    Set new_col = tbl.ListColumns.Add
    new_col.Name = "x0.9"
    new_col.DataBodyRange = "=[@販売金額]*0.9"

処理の手順は次のようになっている。

  1. Set new_col = tbl.ListColumns.Add
    • テーブル tbl に新しい列を追加し、その列を変数 new_col に格納。
  2. new_col.Name = "x0.9"
    • 追加した列のヘッダー名を "x0.9" に設定。
  3. new_col.DataBodyRange = "=[@販売金額]*0.9"
    • 追加した列の各行のセルに、「販売金額」セルの値に 0.9 を掛ける数式を入力。
Information

ポイント

[@販売金額]"構造化参照"を使って、"同一行"の「販売金額」セルを参照している。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です