【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"
処理の手順は次のようになっている。
Set new_col = tbl.ListColumns.Add
- テーブル
tbl
に新しい列を追加し、その列を変数new_col
に格納。
- テーブル
new_col.Name = "x0.9"
- 追加した列のヘッダー名を
"x0.9"
に設定。
- 追加した列のヘッダー名を
new_col.DataBodyRange = "=[@販売金額]*0.9"
- 追加した列の各行のセルに、「販売金額」セルの値に 0.9 を掛ける数式を入力。
関連リンク
この記事を書いた人
- ■人生を追求する凡人 ■日本一安全で、気の向くままに自分の時間を過ごせる、こだわりのキャンプ場を作るのが夢 ■ソフトデザイン工房代表(個人事業者) - 業務設計&業務支援アプリケーション作成サービスを展開 ■人生は時間そのもの。ひとりでも多くの人が「より良い人生にするために時間を使って欲しい」と願い、仕事のスキルの向上、余暇の充実、資産形成を研究。