テーブル化された表の
・指定した列全体の範囲(列名除く)を取得
できます!
VBAコード
ここでは例として、
・シート「data」上の
・テーブル化された表「productテーブル」の
・列「商品名」の列全体の範囲(列名除く)を取得
します。
※取得した範囲の設定値をイミディエイトウィンドウへ出力します。
Option Explicit
Sub sample()
Dim ws As Worksheet
Dim tableName As String
Dim targetColumnName As String
Dim table As ListObject
Dim targetColumnRange As Range
Dim tmpRange As Variant
'対象シート
Set ws = Worksheets("data")
'テーブル名
tableName = "productテーブル"
'対象の列名
targetColumnName = "商品名"
'テーブルを取得
Set table = ws.listObjects(tableName)
'対象の列全体の範囲(列名除く)を取得
Set targetColumnRange = table.ListColumns(targetColumnName).DataBodyRange
'「取得した範囲(セル)の数」だけ繰り返し
For Each tmpRange In targetColumnRange
'イミディエイトウィンドウへ出力
Debug.Print tmpRange.Value
Next
End Sub
実行結果
テーブル化された表の、指定した列全体の範囲(列名除く)を取得できました。
※取得した範囲の設定値をイミディエイトウィンドウへ出力できました。
参考
上記のVBAコードで使用した以下の詳細は、公式サイトをご確認ください。
●「Worksheetオブジェクト」の「ListObjects」プロパティ
●「ListObjectオブジェクト」の「ListColumns」プロパティ
●「ListColumnオブジェクト」の「DataBodyRange」プロパティ