【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 を掛ける数式を入力。
関連リンク
この記事を書いた人
- ■人生を追求する凡人■日本一安全で、気の向くままに自分の時間を過ごせる、こだわりのキャンプ場を作るのが夢■光学・機械系エンジニア(歴20年、内マネジメント10年、特許数件権利化)/副業フリーランスエンジニア■読書・文学愛好■人生は時間そのもの。ひとりでも多くの人が「より良い人生にするために時間を使って欲しい」と願い、仕事のスキルの向上、余暇の充実、資産形成を研究。■VBAアプリ開発サービス提供中(業務委託 / VBA使用経験20年)■Python愛好(歴5年)■VBAエキスパート「Excel VBA スタンダード」(上級者向け資格)/ Python 3 エンジニア認定基礎(経済産業省「ITスキル標準(ITSS)」に掲載)